<feed xmlns='http://www.w3.org/2005/Atom'>
<title>liblitmus.git/include/migration.h, 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>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>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>
