<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt-ext-res.git/include, branch EXT-RES</title>
<subtitle>LITMUS^RT with extended reservations for Forbidden Zones paper @ RTAS'20</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/'/>
<entry>
<title>Added support for early releasing</title>
<updated>2020-10-24T04:17:10+00:00</updated>
<author>
<name>Zelin Tong</name>
<email>ztong@ludwig.cs.unc.edu</email>
</author>
<published>2020-10-24T04:17:10+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=9e0f6ba040ab9f9a6d1e2b1dbd0beca8ef4754cc'/>
<id>9e0f6ba040ab9f9a6d1e2b1dbd0beca8ef4754cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed Occasional Deadlock when scheduling</title>
<updated>2020-10-23T16:06:51+00:00</updated>
<author>
<name>Zelin Tong</name>
<email>ztong@ludwig.cs.unc.edu</email>
</author>
<published>2020-10-23T04:11:54+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=3ab72024d097d2ebcc25442bedcd29b6f1f3abd7'/>
<id>3ab72024d097d2ebcc25442bedcd29b6f1f3abd7</id>
<content type='text'>
Problem:
When multiple scheduling events occur simultaneously, a situation could
happen where:
- one core schedules a task that is linked to it
- a check_for_preemption occurs due to another scheduling event
- that task is now linked to another core
- the other core tries to schedule it but can't grab the task from the
  runqueue of the other core

Solution:
Added in the scheduled_on field in gedf_reservation. This enables us in
link_task_to_cpu to check for this occuring and swap the linking so the
above situation doesn't happen. The code is taken and modified from
link_task_to_cpu in GSN-EDF
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
When multiple scheduling events occur simultaneously, a situation could
happen where:
- one core schedules a task that is linked to it
- a check_for_preemption occurs due to another scheduling event
- that task is now linked to another core
- the other core tries to schedule it but can't grab the task from the
  runqueue of the other core

Solution:
Added in the scheduled_on field in gedf_reservation. This enables us in
link_task_to_cpu to check for this occuring and swap the linking so the
above situation doesn't happen. The code is taken and modified from
link_task_to_cpu in GSN-EDF
</pre>
</div>
</content>
</entry>
<entry>
<title>Added per-access forbidden zones to global OMLP in EXT-RES.</title>
<updated>2020-10-22T02:10:14+00:00</updated>
<author>
<name>Tanya Amert</name>
<email>tamert@cs.unc.edu</email>
</author>
<published>2020-10-18T00:19:01+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=956d7715b06f89a210a9e73a384cf8542ff14417'/>
<id>956d7715b06f89a210a9e73a384cf8542ff14417</id>
<content type='text'>
Added a system call for the lock holder to check if it is
in a forbidden zone and if so, suspend until the beginning
of the next time slice for its parent component.

This does not include any "skipping ahead" mechanism.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added a system call for the lock holder to check if it is
in a forbidden zone and if so, suspend until the beginning
of the next time slice for its parent component.

This does not include any "skipping ahead" mechanism.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added global OMLP to EXT-RES scheduler.</title>
<updated>2020-10-15T20:28:39+00:00</updated>
<author>
<name>Tanya Amert</name>
<email>tamert@cs.unc.edu</email>
</author>
<published>2020-10-15T20:28:39+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=16ee246df107e60fa6c215634b5cf5f60ed71ab8'/>
<id>16ee246df107e60fa6c215634b5cf5f60ed71ab8</id>
<content type='text'>
This includes priority inheritance, but no concept of
forbidden zones.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This includes priority inheritance, but no concept of
forbidden zones.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added global OMLP to GSN-EDF.</title>
<updated>2020-10-15T20:02:37+00:00</updated>
<author>
<name>Tanya Amert</name>
<email>tamert@cs.unc.edu</email>
</author>
<published>2020-10-15T20:02:37+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=127b1b76510c5ccaeb985138f5c4aaaaf4ac1a89'/>
<id>127b1b76510c5ccaeb985138f5c4aaaaf4ac1a89</id>
<content type='text'>
This is the variant of the OMLP that uses priority inheritance,
and comes from BBB's dissertation work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the variant of the OMLP that uses priority inheritance,
and comes from BBB's dissertation work.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove duplicate or unused functions + style cleanup</title>
<updated>2020-10-15T01:29:28+00:00</updated>
<author>
<name>Joshua Bakita</name>
<email>jbakita@cs.unc.edu</email>
</author>
<published>2020-10-15T01:29:28+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=6e3c78374e56bbdfb5e8d91c956701d061ecc9a7'/>
<id>6e3c78374e56bbdfb5e8d91c956701d061ecc9a7</id>
<content type='text'>
Reduces the size of our diff from upstream litmus and
should have no impact on functionality. Ported from MC^2.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduces the size of our diff from upstream litmus and
should have no impact on functionality. Ported from MC^2.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve portability and fix dynamic CPU entry/exit in gedf_env</title>
<updated>2020-10-11T23:01:12+00:00</updated>
<author>
<name>Joshua Bakita</name>
<email>jbakita@cs.unc.edu</email>
</author>
<published>2020-10-11T02:52:15+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=a13573378cc34327d5af9d2af88e12ccf1ff4fc3'/>
<id>a13573378cc34327d5af9d2af88e12ccf1ff4fc3</id>
<content type='text'>
Dynamic CPU entry/exit changes:
- Fix build with CONFIG_RELEASE_MASTER
- Migrate gedf_env release timer when a core is suspended
- Fix race condition in gedf_env core resume
- Add documentation
- Allow for gedf_env_suspend() and gedf_env_resume() to be called
  on CPUs that have already been suspended or resumed. (They do
  nothing in those cases.)
Portability:
- Allocate space in `gedf_reservation_environment` using
  `num_online_cpus()` rather than `NR_CPUS`. Otherwise the stack
  frame can overflow when `NR_CPUS` is large.
- Assign `plugin_state` from the plugin rather than the extended
  reservations code to support other uses of `plugin_state`.
Misc:
- Improve robustnesss of `gedf_env_is_np()`
- Don't memset with 0 memory already zeroed-out by `kzalloc()`
- Use GFP_ATOMIC for allocations when in a scheduling context
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Dynamic CPU entry/exit changes:
- Fix build with CONFIG_RELEASE_MASTER
- Migrate gedf_env release timer when a core is suspended
- Fix race condition in gedf_env core resume
- Add documentation
- Allow for gedf_env_suspend() and gedf_env_resume() to be called
  on CPUs that have already been suspended or resumed. (They do
  nothing in those cases.)
Portability:
- Allocate space in `gedf_reservation_environment` using
  `num_online_cpus()` rather than `NR_CPUS`. Otherwise the stack
  frame can overflow when `NR_CPUS` is large.
- Assign `plugin_state` from the plugin rather than the extended
  reservations code to support other uses of `plugin_state`.
Misc:
- Improve robustnesss of `gedf_env_is_np()`
- Don't memset with 0 memory already zeroed-out by `kzalloc()`
- Use GFP_ATOMIC for allocations when in a scheduling context
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed various bugs</title>
<updated>2020-10-09T20:15:03+00:00</updated>
<author>
<name>Zelin Tong</name>
<email>ztong@ludwig.cs.unc.edu</email>
</author>
<published>2020-10-09T20:15:03+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=6d7a3f278d85fb19c742435fff0b757559cba7eb'/>
<id>6d7a3f278d85fb19c742435fff0b757559cba7eb</id>
<content type='text'>
Bugs fixed:
- cpu priority comparison in gedf environment made it so cpus were
ordered opposite to what they are supposed to
- shutdown of component did not free all memory

Note: It is up to the table maker such that components do not cause
cross migrations of tasks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bugs fixed:
- cpu priority comparison in gedf environment made it so cpus were
ordered opposite to what they are supposed to
- shutdown of component did not free all memory

Note: It is up to the table maker such that components do not cause
cross migrations of tasks
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bugs with adding reservations, adding tasks</title>
<updated>2020-10-08T03:34:42+00:00</updated>
<author>
<name>Zelin Tong</name>
<email>ztong@ludwig.cs.unc.edu</email>
</author>
<published>2020-10-08T03:34:42+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=0eb3a2eff0e128083414530566358b5d9d00025c'/>
<id>0eb3a2eff0e128083414530566358b5d9d00025c</id>
<content type='text'>
Fixed the following:
-reservations(both mtd and gedf) were not properly added to the all_reservations list that
allows it to be found by find_res_by_id
-mtd_reservations not linked after it has been allocated
-fixed mtd_env_dispatch logic so that when nothing is in ready_queue, it
scheduled NULL instead of currently scheduled reservation
-fixed find_res_by_id forgetting to release lock
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed the following:
-reservations(both mtd and gedf) were not properly added to the all_reservations list that
allows it to be found by find_res_by_id
-mtd_reservations not linked after it has been allocated
-fixed mtd_env_dispatch logic so that when nothing is in ready_queue, it
scheduled NULL instead of currently scheduled reservation
-fixed find_res_by_id forgetting to release lock
</pre>
</div>
</content>
</entry>
<entry>
<title>EXT-RES Checkpoint 2 - Hardly Tested.</title>
<updated>2020-09-30T23:20:00+00:00</updated>
<author>
<name>Zelin Tong</name>
<email>ztong@ludwig.cs.unc.edu</email>
</author>
<published>2020-09-30T23:20:00+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/?id=b9de3914e3c26f30c8bd25fb909fc243e65f9a34'/>
<id>b9de3914e3c26f30c8bd25fb909fc243e65f9a34</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
