| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| |
| |
| |
| |
| |
| | |
Adds the new priority comparison function edf_higher_prio(). By the use of
PIDs priorities are now unique. The edf_common.c code uses the new
function. Does not handle priority inheritance yet.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
GSN-EDF needs to be called after every task switch. This patch changes the
existing plugins to handle the changed behavior.
|
| |
| |
| |
| |
| | |
Allow access to the release and ready queues for GSN-EDF. GSN-EDF doesn't
use the locks embedded in the domain.
|
| | |
|
| |\
| | |
| | |
| | | |
Merge with git+ssh://cvs/cvs/proj/litmus/repo/litmus
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| | |
semaphores accessible through system calls, so that they can be used with
the LSO (for partitioned FMLP).
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
A user now makes a system call where a semaphore ID is specified, and
the semaphore implementation is hidden away in the kernel. There are a
finite number of semaphores and the kernel system call will return an error
if it cannot claim one, however user space code in libso does not yet
acknowledge this.
|
| |
| |
| |
| | |
inheritance.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
inheritance, for use in our synchronization implementation.
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
insert barrier() to be sure order is preserved by inline expansion
don't depend on macro for initialization
|
| |
|
|
|
|
| |
Force gcc to actually spin.
|
|
|
|
| |
The first needs to be unlocked, not the last.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Queue locks in LTMUS always must allow for NR_CPUS processes. Therefore,
it is redundant to specify that int queue_lock_init().
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
Merge with git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
libata: Initialize nbytes for internal sg commands
libata: Fix ata_busy_wait() kernel docs
pata_via: Correct missing comments
pata_atiixp: propogate cable detection hack from drivers/ide to the new driver
ahci/pata_jmicron: fix JMicron quirk
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
> Looks like you should use ata_busy_wait() here, rather than reproducing
> the same code again.
It waits in 10uS chunks while 1uS chunks were used in the workaround.
Could indeed do that once I know the fix is right. While I'm at it the
ata_busy_wait kerneldoc is borked so here's a fix
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In some cases such as:
iph->check = 0;
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
GCC may optimize out the previous store.
Observed as a failure of NFS over udp (bad checksums on ip fragments)
when compiled with GCC 3.4.2.
Signed-off-by: Bob Breuer <breuerr@mc.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
missing helper used by arch/i386/mm/highmem.c, which is pulled
into build on that configuration.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
| |
| |
| |
| |
| |
| |
| | |
fix the extern in efi.h
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
a) registers.h is really needed there
b) include of asm-generic/termios should be under __KERNEL__
c) includes of asm-generic/{memory_model,page} should be under
__KERNEL (nothing in there that would work in userland)
d) a lot of stuff in ptrace.h should be under __KERNEL__.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Our old clone flag is already taken in 2.6.20.
* Fix wrong is_running() macro.
* Remove double ->finish_switch() call.
* Move sched_trace_scheduled to non-preemtible section.
* Allow next = idle task in RT mode.
|
| |
| |
| |
| |
| |
| | |
As we currently do not support direct switching, I removed the
DIRECT_SWITCH option. Migration is still supported but only if
not in RT mode. This may have to be checked again.
|
| |
| |
| |
| | |
sched.c
|
| | |
|
| | |
|
| |
| |
| |
| | |
doesn't work yet, no hooks in sched.c yet
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|