EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Extensions for Linux on multi-core
From: Di Maio Franck <[email protected]>
To: "[email protected]" <[email protected]>
Cc: "[email protected]" <[email protected]>, Makijarvi Petri <[email protected]>
Date: Mon, 26 Sep 2011 06:19:41 +0200
Dear base maintainers and Linux users

For ITER, we'll need to be able to tune the RT behavior of the control application for  RHEL and RHEL-MRG on multi-core platforms. 
This means not only controlling the threads' priority and the scheduling policy but also the threads' "CPU affinity" (distribution to given sub sets of the cores).

Cosylab provided us with a proposal for configuring these parameters either with the IOC shell or with system commands by naming the IOC threads. 
It implies some extensions in the code that have been prototyped already (code / patch available).

It is also proposed to change the EPICS-POSIX mapping to have the EPICS priorities 0 and 1 mapped to priority 1 and the other priorities equal.

The changes consist in:
1) 2 new commands: epicsThreadSetPosixPriority and epicsThreadSetPosixPriorityByName to set the priority and scheduling policy of a thread.
2 ) 2 new commands: epicsThreadSetCPUAffinity and epicsThreadSetCPUAffinityByName to set the CPU affinity of a thread.
3) Extensions of the epicsThreadShow and epicsThreadShowAll to add lightweight process ID, scheduling policy and CPU affinity
4) An extension to allow the Linux thread to have the EPICS name in their status (via the Linux prctl function).
5) A change in the POSIX priority mapping (have EPICS prio 0 and 1 mapped to POSIX 1 and all other identical).

A technical note describing these changes is available on the Cosylab site: 
	http://pub.cosylab.com/EPICS/EPICS_Real_Time.pdf

As well as the patches for prototyping these changes on 3.1.4.2:
	http://pub.cosylab.com/EPICS/epics-affinity-patch.txt
 
It would be nice to discuss this at the next collaboration meeting.

Franck Di Maio / ITER
Klemen Zagar / Cosylab

---
Franck Di Maio
CODAC System Designer
CODAC Section

ITER Organization, Building 519/027, CHD, Control System Division
Route de Vinon sur Verdon - 13115 St Paul Lez Durance - France



Navigate by Date:
Prev: Re: Asub record problems to update waveforms of string-type Tim Mooney
Next: problem running Channel Archiver on 64-bit Scientific Linux 6 Leonid Flaks
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Asub record problems to update waveforms of string-type Tim Mooney
Next: problem running Channel Archiver on 64-bit Scientific Linux 6 Leonid Flaks
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·