| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
This is modeled after tasklets. Just writing a 0 does not have
the desired effect on SPARC64.
|
| |
|
|
|
|
| |
For debugging, make relinking optimizations available in the TRACE() log.
|
|
|
|
| |
The plugins don't care about best-effort tasks. Don't bother them.
|
|
|
|
|
| |
This caused LITMUS^RT real-time tasks to be missed, which
in turn caused all kinds of inconsistent state.
|
|
|
|
| |
Make CPU state available to gdb.
|
|
|
|
| |
Blocking and preemptions must take precedence over forced job completions.
|
|
|
|
|
| |
This change fixes a race where a job could be executed on more than one
CPU, which to random crashes.
|
|
|
|
| |
The forked task will be a best-effort task.
|
|
|
|
| |
Added one message and improved another.
|
|
|
|
| |
Don't place events in __init functions.
|
|
|
|
|
| |
We can't use tasklets from within the scheduler.
User no_rqlock_work instead.
|
|
|
|
|
| |
Many things can't be done from within the scheduler.
This framework should make it easer to defer them.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
The old version had a significant window for races with
interrupt handlers executing on other CPUs.
|
| | |
|
|/
|
|
|
|
|
|
| |
A proper real-time migration works as follows:
1) transition to best-effort task
2) migrate to target CPU
3) update real-time parameters
4) transition to real-time task
|
|
|
|
|
| |
sched_clock() is offset from litmus_clock(),
jobs were being delayed for long times.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replicates 1a229e67e4cf08a539fc558d017a95ff03705ac5 for sparc64.
This is what happens:
smp_send_reschedule()
-> smp_receive_signal() (smp.c)
~~> IPI
~~> xcall_receive_signal (ultra.S)
~~> soft interrupt (ttable.S)
-> smp_receive_signal_client (smp.c)
-> set_tsk_need_resched()
|
|
|
| |
add LITMUS syscalls in jump table and unistd.h
|
| |
|
|
|
|
| |
We need to disable Feather-Trace on the Niagara for now, and
there is no reason to always include it, anyway.
|
|
|
|
|
|
| |
- this will make it easier to maintain it across multiple
platforms and versions
- also remove obsolete SRP system call
|
|
|
|
|
| |
pi is confusing, there are many PI schemes in the world.
We implement the FMLP, thus we should label it as such.
|
|
|
|
|
| |
- split SRP into its own file
- rename litmus_sem.c to fmlp.c, since that is what it is
|
|
|
|
|
|
|
|
| |
The SRP implementation did not correctly address various
suspension-related scenarios correctly. Now the need for
SRP blocking is tested on each scheduling event. This ensures
mutual exclusion under the SRP even in the face of unexpected
suspensions, for example due to IO.
|
| |
|
| |
|
| |
|
|
|
|
| |
This is the first step in cleaning up the SRP implementation.
|
|
|
|
|
| |
- don't let SRP be active under GSN-EDF
- later, don't let FMLP be active under PFAIR, either
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
litmus/edf_common.c
litmus/sched_gsn_edf.c
litmus/sched_psn_edf.c
Minor clashes between sched_clock() -> litmus_clock() and jobs.c refactoring
merged by hand. The result has been compile-tested.
|
| |
| |
| |
| | |
John's proposal for how to release jobs with hrtimers.
|
|\| |
|
| |
| |
| |
| |
| | |
Modify offsets in such a way that quantum boundaries occur either
synchronized or staggered (based on the kernel command line).
|
| |
| |
| |
| | |
(dirty hack, could be done nicer)
|
| | |
|
| |
| |
| |
| | |
This exposes the new task release system calls to user space.
|
|/
|
|
|
|
|
|
|
| |
This adds the internals for two new systems calls:
- sys_wait_for_ts_release()
- sys_release_ts()
The first system call suspends a task until the task systems is
released with the second system call.
|
|
|
|
|
| |
This is usefule for releasing exactly n tasks without having to
call compete() repeatedly.
|
|
|
|
|
| |
This introduces the core changes ported from LITMUS 2007.
The kernel seems to work under QEMU, but many bugs probably remain.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before transmission of the last word in PIO RX_ONLY mode rx+tx mode
is enabled:
/* prevent last RX_ONLY read from triggering
* more word i/o: switch to rx+tx
*/
if (c == 0 && tx == NULL)
mcspi_write_cs_reg(spi,
OMAP2_MCSPI_CHCONF0, l);
But because c is decremented after the test, c will never be zero and
rx+tx will not be enabled. This breaks RX_ONLY mode PIO transfers.
Fix it by decrementing c in the beginning of the various I/O loops.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 81100eb80add328c4d2a377326f15aa0e7236398 for the
release, to avoid the unnecessary warning noise that is only really
relevant to wireless driver developers.
The warning will probably go right back in after I cut the release, but
at least we won't unnecessarily worry users.
Acked-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|\
| |
| |
| |
| | |
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Partially revert "Constify function pointer tables."
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This partially reverts 872e2be7c4056496c2871bd9b0f2fae6c374fe47
(Constify function pointer tables.)
The solaris/socksys.c transformation wasn't valid:
arch/sparc64/solaris/socksys.c:192: error: assignment of read-only variable ‘socksys_file_ops’
arch/sparc64/solaris/socksys.c:195: error: assignment of read-only variable ‘socksys_file_ops’
arch/sparc64/solaris/socksys.c:196: error: assignment of read-only variable ‘socksys_file_ops’
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
Revert "ACPI: Fan: Drop force_power_state acpi_device option"
ACPI: EC: "DEBUG" needs to be defined earlier
ACPI: EC: add leading zeros to debug messages
ACPI: EC: fix dmesg spam regression
ACPI: DMI blacklist to reduce console warnings on OSI(Linux) systems.
ACPI: Add ThinkPad R61, ThinkPad T61 to OSI(Linux) white-list
ACPI: make _OSI(Linux) console messages smarter
ACPI: Delete Intel Customer Reference Board (CRB) from OSI(Linux) DMI list
ACPI: on OSI(Linux), print needed DMI rather than requesting dmidecode output
ACPI: create acpi_dmi_dump()
DMI: create dmi_get_slot()
DMI: move dmi_available declaration to linux/dmi.h
ACPI: processor: Fix null pointer dereference in throttling
|
| |\ \ |
|