<feed xmlns='http://www.w3.org/2005/Atom'>
<title>liblitmus.git/include, branch ecrts14-pgm-final</title>
<subtitle>[ARCHIVE] The userspace library for LITMUS^RT 2010. Now on GitHub.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/'/>
<entry>
<title>Update PGM interface with kernel</title>
<updated>2014-02-19T20:51:25+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-11-19T19:10:33+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=6a76ccc5091bd352860b7d74946c99d9d6e83369'/>
<id>6a76ccc5091bd352860b7d74946c99d9d6e83369</id>
<content type='text'>
This patch updates the PGM interface with the kernel.
Producers now boost their priority when generating tokens,
not consumers while waiting for tokens.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch updates the PGM interface with the kernel.
Producers now boost their priority when generating tokens,
not consumers while waiting for tokens.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add PGM support.</title>
<updated>2014-02-19T20:51:25+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-09-27T18:13:45+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=63ef21c366a47d27fe3a43175a3224d368083529'/>
<id>63ef21c366a47d27fe3a43175a3224d368083529</id>
<content type='text'>
Adds routines for userspace tasks to use to communicate their
state to the Litmus kernel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds routines for userspace tasks to use to communicate their
state to the Litmus kernel.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add additional time unit conversion macros.</title>
<updated>2014-02-19T20:51:25+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-09-27T18:08:08+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=8edeea97158cfe9fbb15aea57bb77fcc346cfc9a'/>
<id>8edeea97158cfe9fbb15aea57bb77fcc346cfc9a</id>
<content type='text'>
Adds macros for converting smaller time units into
bigger ones (ex. ns to s).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds macros for converting smaller time units into
bigger ones (ex. ns to s).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix for C++: 'namespace' renamed to 'name_space'</title>
<updated>2014-02-19T20:51:25+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-09-27T18:00:55+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=7975afcc7d68efc64a4258d2c593079774fec08f'/>
<id>7975afcc7d68efc64a4258d2c593079774fec08f</id>
<content type='text'>
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.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Use /proc/litmus/domains to set up affinity masks.</title>
<updated>2014-02-05T05:34:37+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2014-02-05T05:31:08+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=81c3862197756046eee4a2dd9114fa7ccedf5b85'/>
<id>81c3862197756046eee4a2dd9114fa7ccedf5b85</id>
<content type='text'>
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).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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).
</pre>
</div>
</content>
</entry>
<entry>
<title>Add testcase for admission of suspended tasks</title>
<updated>2013-06-08T22:13:43+00:00</updated>
<author>
<name>Bjoern Brandenburg</name>
<email>bbb@mpi-sws.org</email>
</author>
<published>2013-06-08T18:05:29+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=4928cb8f9b596dde0f977bd8924a28dd38541f5f'/>
<id>4928cb8f9b596dde0f977bd8924a28dd38541f5f</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change convenience API routines.</title>
<updated>2013-03-12T17:42:34+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-03-12T17:13:22+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=0e71f86251307a37161cf3de2704a59882e25258'/>
<id>0e71f86251307a37161cf3de2704a59882e25258</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add init_rt_task_param().</title>
<updated>2013-03-12T17:41:53+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-03-12T17:02:09+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=fccb957780cf9685539b1d0717a5193248b30e48'/>
<id>fccb957780cf9685539b1d0717a5193248b30e48</id>
<content type='text'>
Adds init_rt_task_param(). Facilitates setting up default
real-time task attributes that cannot be set by memset(0).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds init_rt_task_param(). Facilitates setting up default
real-time task attributes that cannot be set by memset(0).
</pre>
</div>
</content>
</entry>
<entry>
<title>Cluster-aware rtspin and rt_launch.</title>
<updated>2013-03-12T16:47:20+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-03-05T23:32:01+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=0a54a84457bb8a33113c7dd2a2b63b2a837cc92e'/>
<id>0a54a84457bb8a33113c7dd2a2b63b2a837cc92e</id>
<content type='text'>
This patch adds cluster scheduling options to
rtspin and rt_launch. The convenience routines
in litmus.h were also updated to facilitate
clustered scheduling. For partitioned scheduling,
just set cluster_size = 1 (default size for rtspin
and rt_launch).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds cluster scheduling options to
rtspin and rt_launch. The convenience routines
in litmus.h were also updated to facilitate
clustered scheduling. For partitioned scheduling,
just set cluster_size = 1 (default size for rtspin
and rt_launch).
</pre>
</div>
</content>
</entry>
<entry>
<title>Auto-CPU-affinity from part./cluster assignment.</title>
<updated>2013-03-12T16:02:20+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-03-12T15:57:42+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/liblitmus.git/commit/?id=93ffe5be8fd1954bbfe5a04e55b81ac1d83d2de7'/>
<id>93ffe5be8fd1954bbfe5a04e55b81ac1d83d2de7</id>
<content type='text'>
This patch replaces be_migrate_to() with several
be_migrate_*() APIs to automatically assign CPU affinity
masks from a task's partition (or cluster) assignment.
Routines are release-master-aware such that the release
master (if one exists) will NOT be included in the
task's affinity mask. (Note that release-master
avoidance may be overridden by calling
__be_migrate_thread_to_cluster().)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch replaces be_migrate_to() with several
be_migrate_*() APIs to automatically assign CPU affinity
masks from a task's partition (or cluster) assignment.
Routines are release-master-aware such that the release
master (if one exists) will NOT be included in the
task's affinity mask. (Note that release-master
avoidance may be overridden by calling
__be_migrate_thread_to_cluster().)
</pre>
</div>
</content>
</entry>
</feed>
