aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* | Added a way for tasks to see what their current priority is due to priorityJohn M. Calandrino2007-04-19
| | | | | | | | inheritance.
* | Added priority inheritance within semaphores - compiles but has not beenJohn M. Calandrino2007-04-18
| | | | | | | | tested.
* | Added stubs for modifying "semaphore" priority, in order to facilitateJohn M. Calandrino2007-04-18
| | | | | | | | | | | | | | priority inheritance. Also fixed a few bugs. Many files were modified, as the PI semaphores were are implementing replicate much of the original Linux semaphore implementation with minor changes, often causing a cascade of changes as functions were chased down and changed in several files.
* | Added system call stubs for user-space semaphores with priorityJohn M. Calandrino2007-04-17
| | | | | | | | inheritance, for use in our synchronization implementation.
* | Increased size of blocking zone to something more conservative.John M. Calandrino2007-03-30
| |
* | Added necessary kernel support for zone-based locking.John M. Calandrino2007-03-29
| | | | | | | | | | | | | | | | Added two system calls, one to check if we are in the blocking zone, and one to wait until we exit the blocking zone. Both calls rely on some additional support from the local timer interrupt handler. Everything still needs to be tested with the zone-lock implemention in user space, especially under many different types of race conditions.
* | Worked out some bugs so now it *really* compiles OK.John M. Calandrino2007-03-29
| | | | | | | | | | | | | | System calls and user-level code in libso related to zone-based locking still needs to be tested. Additionally, need to fix an issue getting the time of day within an interrupt handler --- the current method will compile but it will not run because of the need to claim a lock in the handler.
* | Checkpoint: almost all support added. Compiles.John M. Calandrino2007-03-29
| |
* | Small fix when resetting zone flags in local timer interrupt handler.John M. Calandrino2007-03-29
| |
* | sys_wait_for_zone_exit system call has been implemented.John M. Calandrino2007-03-29
| | | | | | | | | | | | | | | | sys_wait_for_zone_exit waits on a flag which is cleared during the local timer interrupt. Yet more race conditions have been avoided by performing zone checks before waiting for the flag, and by setting the flag *before* performing the zone check, so that if we enter the loop immediately after leaving the blocking zone, we are still okay.
* | Skeletons of system calls written. Still need to finish.John M. Calandrino2007-03-27
| |
* | Committing some initial changes to implement system calls related toJohn M. Calandrino2007-03-27
|/ | | | zone-based locking.
* Merge with git+ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmusJohn M. Calandrino2007-02-22
|\
| * Merge with git+ssh://swan/playpen/bbb/litmusBjoern B. Brandenburg2007-02-22
| |\ | | | | | | | | | Pulled in the queue lock implementation.
| | * small fixesBjoern Brandenburg2007-02-21
| | | | | | | | | | | | | | | insert barrier() to be sure order is preserved by inline expansion don't depend on macro for initialization
| | * add _irqsave/_irqrestore macros to queuelock.hBjoern Brandenburg2007-02-20
| | |
| | * Mark spin variable as volatile.Bjoern Brandenburg2007-02-20
| | | | | | | | | | | | Force gcc to actually spin.
| | * Fix wrong initialization of queue lock.Bjoern Brandenburg2007-02-20
| | | | | | | | | | | | The first needs to be unlocked, not the last.
| | * Merge with git+ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmusBjoern Brandenburg2007-02-20
| | |\ | | | | | | | | | | | | Pulled in john's quantum alignment updates
| | * | Implement queue locks based on the primitives provided atomic.hBjoern Brandenburg2007-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This re-implements the queue locks for the new LITMUS version. Major differences to the previous implementation: 1) platform independent implementation - no manual assembly code in the queue lock implementation required 2) Recursive acquiring of the locks is not possible! None of the other Linux locking primitives allow it, so it is consistent and we weren't using it anyway as far as I know. 3) The number of "processes" in the implementation is fixed to NR_CPUS. Anything else doesn't really make sense in the kernel anyway.
| | * | remove second, unneeded parameter of queue_lock_init()Bjoern Brandenburg2007-02-19
| | | | | | | | | | | | | | | | | | | | Queue locks in LTMUS always must allow for NR_CPUS processes. Therefore, it is redundant to specify that int queue_lock_init().
| * | | use same variable as standard Linux for checking task stateBjoern B. Brandenburg2007-02-22
| | | |
| * | | always call mode change callbackBjoern B. Brandenburg2007-02-22
| | |/ | |/| | | | | | | | | | The current plugin's mode change callback was not being called when switching from RT mode to NON-RT mode.
* / | (no commit message)John M. Calandrino2007-02-22
|/ /
* | Fixed code according to Bjoern's suggestions.John M. Calandrino2007-02-19
| | | | | | | | | | | | | | | | | | Renamed function in timer.c, removed personal EXTRAVERSION from Makefile, changed some other small things. Aligned and staggered quanta are now working properly, Use quanta=staggered as a boot option to get staggered quanta, and no boot option (or quanta=aligned) to get aligned quanta. In most cases, quantum alignments are even more precise now than they were previously (less than 5 microseconds versus 10-20 microseconds).
* | Additional support for aligned and staggered quanta.John M. Calandrino2007-02-16
| | | | | | | | | | | | | | | | Provided a boot option that allows either aligned or staggered quanta to be chosen, and added a TRACE call that displays the offsets from the global timer tick at each CPU, in order to debug each type of quanta. Code related to periodic resynch is still commented out and will be debugged soon.
* | Local commit of current state of my attempt to log quantum sync info.John M. Calandrino2007-02-15
| | | | | | | | | | | | Tried to read the amount of time since the last global timer interrupt occurred and log that time on all processors using TRACE, but I think locks are causing me grief, because the system instead hangs.
* | Merge with git+ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmusJohn M. Calandrino2007-02-15
|\|
| * finishing touches for TRACE() implementationBjoern Brandenburg2007-02-15
| | | | | | | | | | Remove some stale comments and prevent NULL bytes from being copied into the TRACE ring-buffer.
| * implement LITMUS TRACE() macroBjoern Brandenburg2007-02-07
| | | | | | | | | | | | Implements the LITMUS TRACE() macro by having it emmit formatted text into the global log_buffer. Access is synchronized using log_buffer_lock, which is a queue lock. The maximum message size is 255 bytes.
| * add ring buffer for log messagesBjoern Brandenburg2007-02-07
| | | | | | | | | | This patch adds the file operations structure and the necessary initialization for the ring-buffer that will be used for LITMUS TRACE() logging.
| * fix possible crash in trace_openBjoern Brandenburg2007-02-07
| | | | | | | | | | In case a CPU is not online the kernel should not access its data structures.
* | Added support for periodic resynchronization of aligned quanta.John M. Calandrino2007-02-09
| | | | | | | | | | | | | | Support added with some small modifications. Staggered quanta are still synchronized only once, it might not be necessary to re-stagger quanta at all. This seems to be running okay but is not guaranteed to be bug-free, and still needs to be checked for alignment accuracy.
* | This version contains support for aligned and staggered quanta.John M. Calandrino2007-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | Aligned quanta are supported using a barrier -- issues related to this barrier have been fixed (a small delay was needed so that other procs could increment the counter). Staggered quanta are supported using a delay as before, but the delay is calculated automatically (i.e., it uses jiffies_to_msecs and num_online_cpus instead of constants we provided). TO DO: * System boots, but actual alignment of quanta still needs to be checked. * Upgrade support so that quanta are periodically realigned.
* | Modified apic.c to fix barrier-related issues with timer sync, nowJohn M. Calandrino2007-02-07
| | | | | | | | | | use global timer (jiffies) to determine when sync occurs. Still broken though, this is just a local checkpoint.
* | Added support for quantum synchronization by having all processors waitJohn M. Calandrino2007-02-06
|/ | | | | | on a barrier, after which all timers are reset concurrently. This is still being debugged -- I locally committed it so it would be backed up somewhere.
* Update base version to the final relesae of 2.6.20.Bjoern B. Brandenburg2007-02-05
|\ | | | | | | Merge with git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
| * Linux 2.6.20v2.6.20Linus Torvalds2007-02-04
| |
| * [PATCH] EFI x86: pass firmware call parameters on the stackFrédéric Riss2007-02-04
| | | | | | | | | | | | | | | | | | | | When calling into the EFI firmware, the parameters need to be passed on the stack. The recent change to use -mregparm=3 breaks x86 EFI support. This patch is needed to allow the new Intel-based Macs to suspend to ram (efi.get_time is called during the suspend phase). Signed-off-by: Frederic Riss <frederic.riss@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * [PATCH] fix rtl8150Al Viro2007-02-03
| | | | | | | | | | | | | | That code doesn't do what its author apparently thought it would do... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds2007-02-03
| |\ | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] sd: udev accessing an uninitialized scsi_disk field results in a crash [SCSI] st: A MTIOCTOP/MTWEOF within the early warning will cause the file number to be incorrect [SCSI] qla4xxx: bug fixes [SCSI] Fix scsi_add_device() for async scanning
| | * [SCSI] sd: udev accessing an uninitialized scsi_disk field results in a crashNagendra Singh Tomar2007-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sd_probe() calls class_device_add() even before initializing the sdkp->device variable. class_device_add() eventually results in the user mode udev program to be called. udev program can read the the allow_restart attribute of the newly created scsi device. This is resulting in a crash as the show function for allow_restart (i.e sd_show_allow_restart) returns the attribute value by reading the sdkp->device->allow_restart variable. As the sdkp->device is not initialized before calling the user mode hotplug helper, this results in a crash. The patch below solves it by calling class_device_add() only after the necessary fields in the scsi_disk structure are initialized properly. Signed-off-by: Nagendra Singh Tomar <nagendra_tomar@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * [SCSI] st: A MTIOCTOP/MTWEOF within the early warning will cause the file ↵Kai Makisara2007-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | number to be incorrect On Wed, 24 Jan 2007, Andrew Morton wrote: > On Mon, 22 Jan 2007 13:07:20 -0800 > bugme-daemon@bugzilla.kernel.org wrote: > > > http://bugzilla.kernel.org/show_bug.cgi?id=7864 > > > > Summary: A MTIOCTOP/MTWEOF within the early warning will cause > > the file number to be incorrect > > Kernel Version: 2.6.19.2 > > Status: NEW > > Severity: low > > Owner: io_scsi@kernel-bugs.osdl.org > > Submitter: ce_reisinger@yahoo.com > > > > > > Write records to a SCSI tape until a write fails with a ENOSPC (you have reached > > early warning. > > Now perform a: > > struct mtget before, after; > > ioctl(fd, MTIOCGET, &before); > > struct mtop mtop = { MTWEOF, 1 }; > > ioctl(fd, MTIOCTOP, &mtop); > > ioctl(fd, MTIOCGET, &after); > > > > Check the value of mt_fileno in the before and after structures. Notice the > > after is 2 greater then the before. > > > > The problem appears to be in the block of code starting at line 2817 in st.c. > > This block is entered because the drive did return a CHECK CONDITION with NO > > SENSE and the SENSE_EOM bit set. At lines 2824/5 the fileno is incremented. But > > it has already been increased by the number of filemarks requested by the > > MTIOCTOP. I believe that the residue count in the sense data should be > > subtracted from fileno, not a increment as is done. > > > > Thanks. Could you please send us a tested patch to fix these things, as > per http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt ? > The analysis is basically correct and explains the bug. According to the SCSI standards, the sense code is NO SENSE or RECOVERED ERROR in case writing filemark(s) succeeds. If it fails (partly or completely) the sense code is VOLUME OVERFLOW. The patch below is tested to fix the case when one filemark is successfully written after the EOM early warning. It should also fix the case at real EOM but this has not been tested. Carl, thanks for reporting the bug and providing the analysis for the fix. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * [SCSI] qla4xxx: bug fixesDavid C Somayajulu2007-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The included patch fixes the following issues: 1. qla3xxx/qla4xxx co-existence issue which can result in a lockup when qla3xxx driver is unloaded, or when ifdown; ifup is performed on one of the interfaces correponding to qla3xxx. This is because qla4xxx HBA supports one ethernet and iscsi interfaces per port. Both iscsi and ethernet interfaces share the same state machine. The problem has to do with synchronizing access to the state machine in the event of a reset 2. mutex_lock() is sometimes not followed by mutex_unlock() prior to invoking a msleep() in qla4xxx_mailbox_command() Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * [SCSI] Fix scsi_add_device() for async scanningMatthew Wilcox2007-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I had thought that all drivers which didn't call scsi_scan_host() called scsi_scan_target(). Some, such as sbp2, mptsas and libata-scsi, call scsi_add_device() or __scsi_add_device(). We just need to wait for the currently executing async scans to complete first. This is the same code that's in scsi_scan_target(), except that we have to return an error instead of void when we're declining to scan at all. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [PATCH] x86-64: define dma noncoherent API functionsJeff Garzik2007-02-03
| | | | | | | | | | | | | | | | | | | | | | | | x86-64 is missing these: Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | [PATCH] Altix: more ACPI PRT supportJohn Keller2007-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SN Altix platform does not conform to the IOSAPIC IRQ routing model. Add code in acpi_unregister_gsi() to check if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM) and return. Due to an oversight, this code was not added previously when similar code was added to acpi_register_gsi(). http://marc.theaimsgroup.com/?l=linux-acpi&m=116680983430121&w=2 Signed-off-by: John Keller <jpk@sgi.com> Acked-by: Len Brown <lenb@kernel.org> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | [PATCH] revert blockdev direct io back to 2.6.19 versionAndrew Morton2007-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Andrew Vasquez is reporting as-iosched oopses and a 65% throughput slowdown due to the recent special-casing of direct-io against blockdevs. We don't know why either of these things are occurring. The patch minimally reverts us back to the 2.6.19 code for a 2.6.20 release. Cc: Andrew Vasquez <andrew.vasquez@qlogic.com> Cc: Ken Chen <kenchen@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | [PATCH] alpha: fix epoll syscall enumerationsMike Frysinger2007-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We went and named them __NR_sys_foo instead of __NR_foo. It may be too late to change this, but we can at least add the proper names now. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | [PATCH] net/smc911x: match up spin lock/unlockPeter Korsgaard2007-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | smc911x_phy_configure's error handling unconditionally unlocks the spinlock even if it wasn't locked. Patch fixes it. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Cc: Jeff Garzik <jeff@garzik.org> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>