<?xml version="1.0" encoding='ISO-8859-1'?>
<!--DOCTYPE component PUBLIC "-//OCERA//DTD component XML V1.0//EN" "file:component.dtd"-->

<component id="pcomp" name="Preemption+RTLinux patch">
  <title>Preemption Compatibility patch for Linux and RTLinux</title>
  <info>
    <authorgroup>

      <author>
	<firstname>Carlo Andrea</firstname>
	<surname>Orrico</surname>
	<affiliation>
	  <orgname>SSSA</orgname>
	</affiliation>
	<email><ulink url="mailto:orrico@ocera.sourceforge.org">orrico@ocera.sourceforge.org</ulink></email>
      </author>

    </authorgroup>
    
    <reviewergroup>
      <author>
	<firstname>Giuseppe</firstname>
	<surname>Lipari</surname>
	<affiliation>
	  <orgname>SSSA</orgname>
	</affiliation>
	<email><ulink url="mailto:lipari@sssup.it">lipari@sssup.it</ulink></email>
      </author>
    </reviewergroup>

    <copyright>
      <year>2003</year>
      <holder>OCERA Consortium</holder>
    </copyright>

    <deliverable file="ms2-month12/WP4/D4.2_rep.pdf" />
    <workpackage id="WP4" />

    <date start="15/12/2002" release="22/04/2003"/>

    <version cvs="qos/pcomp" value="1.0-1"/>
    <status value="Alpha"/>

    <license value="GPL"/>
    <home-page url="http://www.ocera.org"/>

    <hardware processor="Independent"/>
    <platform linux="2.4.18" rtlinux="3.2pre1"/>
    <componenttype value="LowLevel"/>

    <dependencies>
      <dependency version="2.4.18">Linux</dependency>
      <dependency version="3.2pre1">RTLinux</dependency>
    </dependencies>

    <keywords>Real-Time, Linux, RTLinux, Scheduling</keywords>
  </info>

  <!-- ================================================== Description -->
  <description>
    The aim of this component is to make two different patches to the
    Linux kernel, the Preemption Patch [PRK] and the RTLinux patch,
    work together. The RTLinux patch is necessary to make RTLinux
    work. The Preemption Patch, based upon Robert Love's Preemptible
    Kernel work, reduces the latency of Linux by allowing preemption
    to occur inside Linux. By using the Preemption Patch and the Low
    Latency Patch [LLP], the latency of many Linux operations is
    significantly reduced. Therefore, both patches are very important
    for soft real-time scheduling at the Linux user level. In the
    mixed OCERA configuration, both hard real-time with RTLinux and
    soft real-time with Linux are required at the same time.
    Therefore, we need to apply all three patches.

    However, while the Low Latency Patch does not interfere with the
    RTLinux patch, both the Preemption Patch and the RTLinux patch
    modify the interrupt handling code. If the two patches are applied
    at the same time, Linux crashes.  

    Thus this component is yet another patch that combines the two
    patches, RTLinux patch and Preemption Patch, while retaining -to a
    reasonable extent- the advantages of both.

  </description>

</component>

