aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* release_t: add -W optionBjoern Brandenburg2016-03-08
|
* Read the whole word from domain for cpu_setMahircan Gul2016-03-08
| | | | | This fixes a problem on a 48-core platform where tasks couldn't be migrated to certain cores.
* Switch syscalls to use new LITMUS^RT ioctl() interfaceBjoern Brandenburg2015-12-18
| | | | This change should be transparent to clients of the library.
* Add test case for get_rt_task_param()Bjoern Brandenburg2015-12-18
|
* Remove sched_{s,g}etscheduler syscall stubsBjoern Brandenburg2015-12-16
| | | | These are provided elsewhere, we don't need to reimplement them.
* Implement get_job_no() via control pageBjoern Brandenburg2015-12-16
|
* Add offset checks for release and job index in control pageBjoern Brandenburg2015-12-16
|
* rtspin -v: report deadline, current time, and slackBjoern Brandenburg2015-12-16
|
* Add monotime() wrapper for CLOCK_MONOTONICBjoern Brandenburg2015-12-16
|
* Adds build bug check for deadline in control_pageGeoffrey2015-12-16
|
* Add -i option to rtspin (report interrupts)Bjoern Brandenburg2015-12-09
| | | | | Add an option that, together with -v (verbose), makes rtspin print interrupt information from its control page.
* Add syscall get_current_budget()Bjoern Brandenburg2015-09-08
|
* Remove outdated mention of rtsched from READMEBjoern Brandenburg2015-09-08
| | | | | Thanks to Geoffrey Tran <gtran@isi.edu> for reporting the outdated information.
* Update README and installation instructionsBjoern Brandenburg2015-08-03
|
* Fix memset() parameters for scheduling parameter structNamhoon Kim2015-08-03
| | | | Signed-off-by: Bjoern Brandenburg <bbb@mpi-sws.org>
* Tests: stress PCP, DPCP, DFLP, and SRP by intentionally migrating awayBjoern Brandenburg2015-07-27
| | | | Triggers a BUG_ON() in the old kernel.
* Test suite: add -v (verbose) option to runtestsBjoern Brandenburg2015-07-27
| | | | | Logging PIDs makes finding the right message in kernel debug traces easier...
* Testcases: create PCP and DFLP locks with invalid CPU parametersBjoern Brandenburg2015-07-27
|
* Testcase: create DPCP lock with invalid CPU parameterBjoern Brandenburg2015-07-27
|
* Add -r (reservation) and -v (verbose) flags to rtspinBjoern Brandenburg2015-07-20
| | | | | | | | | | The -r flag allows specifying a "virtual CPU" (in addition to a physcial CPU to migrate to) that may be interpreted by a scheduler plugin to refer to a reservation to which the task should be added. The -v flag causes rtspin to output timing information on stdout and can be useful for early-stage plugin debugging (to see that something is happening at all).
* Make sure scheduling parameter struct is zeroed outBjoern Brandenburg2015-07-20
|
* Rebase 2015.1: update SCHED_LITMUS policy IDBjoern Brandenburg2015-07-20
| | | | | With the addition of SCHED_DEADLINE in mainline Linux, we have to adjust the ID of SCHED_LITMUS.
* Add test cases for enforcement of periods of periodic tasksBjoern Brandenburg2014-06-12
|
* read_mapping() breaks on NR_CPUS not div by 32Glenn Elliott2014-06-06
| | | | | | | This patch fixes a bug in read_mapping(), which is used for reading CPU and cluster (domain) mappings. read_mapping() did not account for the case when NR_CPUS is not evenly divisible by 32 (quite common when NR_CPUS < 32).
* Cosmetic: Fix error string to match fn name.Glenn Elliott2014-06-06
| | | | | Patch cleans up an error message to match the migrate-to-domain API.
* Remove unneeded code from domain migration.Glenn Elliott2014-06-06
| | | | | | | This patch removes unneeded code from be_migrate_thread_to_domain(). This function no longer needs to check the number of online CPUs since the CPU mask for a given domain is now returned directly from read_mapping().
* Modernize rt_launch; remove internal API cruftBjoern Brandenburg2014-06-03
| | | | | | | Switch rt_launch to use a more modern way to launch real-time tasks. This makes rt_launch more flexible, makes it more similar to rtspin, and also allows to let us get rid of a chunk of old, inflexible code in liblitmus that wasn't really serving any useful purpose anymore.
* Remove over-specification of task parameters from two testsBjoern Brandenburg2014-06-03
| | | | Don't override the defaults unless required.
* FIX: Add S_IRUSR to open() for DFLP.Glenn Elliott2014-05-19
| | | | | This patch adds S_IRUSR as the third parameter to open() in the DFLP locking unit test.
* Migration: Support systems with more than 32 CPUs.Glenn Elliott2014-05-19
| | | | | | | | | | | | This patch improves the cpu bit map parsing used to determine CPU/cluster mapping. Namely, it supports clusters with more than 32 CPUs. Prior to this patch, mapping would fail due to unexpected commas in bitfield data read from /proc (groups of 32 CPUs are separated by commas). NOTE: Bug could still be encountered if NR_CPUS > 32. New CPU limit: 4096.
* Remove invalid CPU parameter testBjoern Brandenburg2014-04-01
| | | | | | | | The LITMUS^RT kernel was changed to no longer test for "invalid" CPU paramters to allow reuse of the CPU parameter to denote virtual CPUs, reservations, etc. This patch removes the corresponding test.
* Add add convenience wrapper and tests for the DFLPBjoern Brandenburg2014-04-01
|
* Add support for the DFLPBjoern Brandenburg2014-04-01
| | | | Just add the ID and symbol.
* Add missing default param initializationBjoern Brandenburg2014-04-01
| | | | | | Make sure new default parameters such as the deadline are taken care of in the old task creation routines. This fixes a problem with rt_launch.
* Add test cases for exiting/mode-changing lock holdersBjoern Brandenburg2014-03-19
| | | | | This crashes old versions of the kernel. Kernel patches fixing the various panics have been merged into the kernel staging tree.
* liblitmus/tests: Add PCP-DPCP interleaving testRoy Spliet2014-03-19
|
* Use /proc/litmus/domains to set up affinity masksGlenn Elliott2014-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces the algorithm used to compute CPU affinity masks. The old algorithm was fragile and would break on systems with multiple levels of shared caches. (As found on some older Intel chips, and as one would probably find on a system with hyper-threading enabled.) The bug stems from fact that Linux enumerates consecutive CPUs in a way that distributes them across the physical system, thereby reducing contention resources (e.g., cache). Cluster size no longer needs to be provided now that cluster/CPU mappings are explicit in /proc/litmus/domains/. This keeps the following migration functions, but marks them as deprecated: - be_migrate_to_cluster() - cluster_to_first_cpu() - partition_to_cpu() Although the deprecated interfaces are supported, the implementations for these functions call the new be_migrate_to_domain() and domain_to_first_cpu() functions. [bbb: resolved several merge conflicts]
* Hook up doxygen as 'make doc'Bjoern Brandenburg2013-11-27
| | | | Also adjust 'make clean' and .gitignore.
* liblitmus: Add Doxygen documentation for public APIsRoy Spliet2013-11-27
|
* liblitmus/bin: Use inttypes.h macros for 64-bit integer printingRoy Spliet2013-11-11
| | | | | | Fixed build on ARMv7 Signed-off-by: Roy Spliet <rspliet@mpi-sws.org>
* Fix for C++: 'namespace' renamed to 'name_space'Glenn Elliott2013-09-27
| | | | | | | Renames the 'namespace' parameter to litmus_open_lock() forard declaration in litmus.h to 'name_space'. This allows litmus.h to be compiled by a C++ compiler. (Note: Using 'extern "C" {}' does not work as an alternative solution.)
* Switch NP flag format back to 32 bits (uint32_t)2013.1Bjoern Brandenburg2013-07-21
| | | | This matches the corresponding change in the kernel.
* Port Makefile to new Linux kernel header layoutBjoern Brandenburg2013-07-11
| | | | | | | | | | | The userspace versions of unistd.h have moved to include/uapi/asm in recent kernel versions; we need to adjust the liblitmus Makefile accordingly. Further, on x86, the unistd_32.h and unistd_64.h files are now actually being auto-generated; this also forced adjustments. This patch is required for liblitmus to compile against Linux 3.10.
* User large enough buffer to read /proc/litmus/release_masterpgmHiroyuki Chishiro2013-07-02
| | | | The string 'NO_CPU' needs to fit into the buffer.
* Add a test for admission of tasks that are currently runningBjoern Brandenburg2013-06-08
| | | | | Complements the prior test for suspended tasks. All plugins currently pass this test.
* Add testcase for admission of suspended tasksBjoern Brandenburg2013-06-08
| | | | | | The kernel needs to be able to deal with tasks that do not make themselves a real-time task, but get configured by some other task instead.
* Update constat SPORADIC->TASK_SPORADICBjoern Brandenburg2013-06-08
| | | | | A recent patch changed the name of the constant in the kernel. Update liblitmus accordingly.
* Fix compile failure related to aliasing (gcc 4.4.5)Bjoern Brandenburg2013-04-17
| | | | | | | | My version of gcc would complain about "dereferencing pointer does break strict-aliasing rules" because of a (harmless) pointer cast. This patch adds a helper void pointer to make the assignment explicit, which avoids the cast and hence silences the warning.
* Change convenience API routines.Glenn Elliott2013-03-12
| | | | | | | | | | | | | The sproadic_*() macros have become unwieldy. This patch replaces those convenience macros for global, clustered, and partitioned scheduling. A part of this API change is the explicit use of nanosecond time-values. Prior APIs have used lt_t (litmus time), which had an implied time scale of nanoseconds. /bin apps and test suite also updated to use revised API. Modifications to the test suite are mostly centered around using nanoseconds instead of milliseconds.
* Add init_rt_task_param().Glenn Elliott2013-03-12
| | | | | Adds init_rt_task_param(). Facilitates setting up default real-time task attributes that cannot be set by memset(0).