linux/Documentation/rt-mutex.txt
<<
tion.1./spaue= .1./forme= .1.a tion.1 href="../linux+v3.7.pt/Documentavalu/rt-mutex.txt">tion.1.img src="../.stavac/gfx/right.png" alt=">>">ti./spaue=ti.spau class="lxr_search">tiontion.1.input typv4.hidden" namv4.navtarget" > v4.">tion.1.input typv4.text" namv4.search" id4.search">tion.1.butt typv4.submit">Searchtion.1Prefs= .1./a>ti./spaue=on.1 1./dive=on.1 1.form acvalu="ajax+*" method="post" onsubmit="return false;">ti.input typv4.hidden" namv4.ajax_lookup" id4.ajax_lookup" > v4.">ton.1 1./forme=ton.1 1.div class="headingbott m">on.1 .1.RT/rt-mu onsystem with PI opport <.1.a hrern=Documentavalu/rt-mutex.#L2kup" iL2kuau classinekun" namL2k>on.2 .1.---------------------------------- <.1.a hrern=Documentavalu/rt-mutex.#L3kup" iL3kuau classinekun" namL3k>on.3 .1./<.1.a hrern=Documentavalu/rt-mutex.#L4kup" iL4kuau classinekun" namL4k>on.4 .1.RT/rt-mues with priority inheritance ax_aused to opport PI-ft-mues,/<.1.a hrern=Documentavalu/rt-mutex.#L5kup" iL5kuau classinekun" namL5k>on.5 .1.which enable pt.a ad_rt-mu_t priority inheritance attrihon.6 .1.(PTHREAD_PRIO_INHERIT). [See rn=Documentavapi-ft-mutex. 1./ mox_adetails/<.1.a hrern=Documentavalu/rt-mutex.#L7kup" iL7kuau classinekun" namL7k>on.7 .1.about PI-ft-mues.]/<.1.a hrern=Documentavalu/rt-mutex.#L8kup" iL8kuau classinekun" namL8k>on.8 .1./<.1.a hrern=Documentavalu/rt-mutex.#L9kup" iL9kuau classinekun" namL9k>on.9 .1.Th(t technology wasadeveloped itt he -rt tree and streamsined 1.//<.1.a hrern=Documentavalu/rt-mutex.#L10kup" iL10kuau classinekun" namL10k>on16.pa>pt.a ad_rt-mu opport./<.1.a hrern=Documentavalu/rt-mutex.#L11kup" iL11kuau classinekun" namL11k>on11 .1./<.1.a hrern=Documentavalu/rt-mutex.#L12kup" iL12kuau classinekun" namL12k>on12 .1.Basic principles:/<.1.a hrern=Documentavalu/rt-mutex.#L13kup" iL13kuau classinekun" namL13k>on13 .1.-----------------/<.1.a hrern=Documentavalu/rt-mutex.#L14kup" iL14kuau classinekun" namL14k>on14 .1./<.1.a hrern=Documentavalu/rt-mutex.#L15kup" iL15kuau classinekun" namL15k>on15 .1.RT/rt-mues 4.tend he semanstas of simple rt-mues by he priority/<.1.a hrern=Documentavalu/rt-mutex.#L16kup" iL16kuau classinekun" namL16k>on16 .1.inheritance protocol./<.1.a hrern=Documentavalu/rt-mutex.#L17kup" iL17kuau classinekun" namL17k>on17 .1./<.1.a hrern=Documentavalu/rt-mutex.#L18kup" iL18kuau classinekun" namL18k>on18 .1.A low priority owner of a lu/rt-mu inherits he priority of a hx/re//<.1.a hrern=Documentavalu/rt-mutex.#L19kup" iL19kuau classinekun" namL19k>on19 .1.priority waiter unstl he lu/rt-mu is ron26.pa>bo="ped owner blockityn a lu/rt-mu it1uen value="v4.1.12" > v4.12< <22ption> 24.1.12" > eeaiL6x.#L16kup" iL16kuau classinekun" namL16k>on16 .1.in21.a hrer2=Documentavalu/rt-mutex2#L12k21alue="v4.d4.lu/r.#L1hx/re//<..#L1h.#Lr<22_tion> 24 .ses > v1.12n. The16kuau classinekun" namL16k>on16 .1.in2------------------------------ <.ntava22sed. If he t="v4.d4.lumeimmediaiLlyentmov1.12n.#L1.a hr_tion> h//on16 .1.in2--------2-----/<.1.a hrern=Docum2ntava2u/rt-un v1.L17kuau classinekun" namL17k>on17 .1./<21.a hrer2=Documentavalu/rt-mutex2#L15k2p" iL15kuau classinekun" namL15k>on15 .1.RT2rt-mues 2.tend he semanstas of 2imple25ee and stap >aattalriosntalu/rth" ieDocume> v//<.up" - If tasv4.1215kuau classinekun" namL15k>on15 .1.RT2eritance2protocol./<.1.a hrern=D2cumen2avaluopport PIe att17kurefrthumedentsourc iLforentavalu/rt-mutex.# stnot a15kuau classinekun" namL15k>on15 .1.RT21.a hrer2=Documentavalu/rt-mutex2#L18k2p" iLmagex.bulle-mutexpoorlyedesigkup"ap /a>" nams,.but 24 alrios15kuau classinekun" namL15k>on15 .1.RT2ow prior2ty owner of a lu/rt-mu 2nheri2s hewell-desigkup"ap /a>" namslu/rtavrtavr*" x.# v4.=Doc-mua>"l part=Doc15kuau classinekun" namL15k>on15 .1.RT2ority wa2ter unstl he lu/rt-mu 2s ron17 .1./<3"ped own3r blockityn a lu/rt-mu 3t1uen30" iL15kuau classinekun" namL15k>on15 .1.RT31.a hrer3=Documentavalu/rt-mutex3#L12k31ee andetriqueued4.l/<..#L1empora4.=Du/r.#L1rttion> emporarlist# st8c64.=D15kuau classinekun" namL15k>on15 .1.RT3--------3--------------------- <3ntava32sed. If he torder. Ftexs---/rt-muteit PFIFOtorder# stchosen. Ftexeaat15kuau classinekun" namL15k>on15 .1.RT3a hrern=DDocumentavalu/rt-mutex.#ntava3u/rt-rttion>,.12lex.#L1top If he temporar striqueued.=Du/r.#L1hx/re's15kuau classinekun" namL15k>on15 .1.RT31.a hrer3=Documentavalu/rt-mutex3#L15k34sed. If he temporasrlist. Thisrlist1too queue4.=Do If he torder. When1.aL19kuau classinekun" namL19k>on19 .1.pr3rt-mues 3.tend he semanstas of 3imple35ee a.#L1top If he temporar#L19ktasvtchange4.(utexexantava24 tim1.12texiL10kuau classinekun" namL10k>on16.pa>pt3eritance3protocol./<.1.a hrern=D3cumen3avalugot a sigkal),valu/rt-mutex.#L1.#L1hx/re/tasvtumentadju4.1.ilsThe16kuau classinekun" namL16k>on16 .1.in31.a hrer3=Documentavalu/rt-mutex3#L18k37sed. If he triqueued4.lumehandl1.1tex"plists",1.a4.=Dcludeion.1./plist.t15kuau classinekun" namL15k>on15 .1.RT3ow prior3ty owner of a lu/rt-mu 3nheri3s heutex.#L7kup" iL7L8kuau classinekun" namL8k>on.8 .1./<.1.3ority wa3ter unstl he lu/rt-mu 3s ron.4 .1.RT/rt-"ped own4r blockityn a lu/rt-mu 4t1uen40t-mues by he pumene= .mizup" iL fastpathne=er" namslt-muhavetno.=Duerkalkuau classinekun" namL4k>on.4 .1.RT/rt-1.a hrer4=Documentavalu/rt-mutex4#L12k41ee a vd4.l/.aLiv iPIeeDo vd4.lurnun052793dup"tion> oaril vd4.lu"tion>kuau classinekun" namL4k>on.4 .1.RT/rt---------4--------------------- <4ntava42sed.I-ftutexemporas. Thene= .mizup" astpathne=er" namslrequibf1dmpxchgkuau classinekun" namL4k>on.4 .1.RT/rt-a hrern=4Documentavalu/rt-mutex.4ntava4u/rt-1kup" iL [-muteat# stnot av iLhon.4 .1.RT/rt--mues witth priority inheritance #L15k44sed.isntava8kuau classinekun" namL8k>on.8 .1./<.1.4rt-mues 4.tend he semanstas of 4imple45 iL4kuau classinekun" namL4k>on.4 .1.RT/rt-eritance4protocol./<.1.a hrern=D4cumen46ee andet/spae.#L1.#L1hrern=Documetra v1.1via1.#L1hx/re/field.#L1.#L1hrern=Dokuau classinekun" namL4k>on.4 .1.RT/rt-1.a hrer4=Documentavalu/rt-mutex4#L18k47sed.structureL13kuau classinekun" namL13k>on13 .1.--4ow prior4ty owner of a lu/rt-mu 4nheri4" iL9kuau classinekun" namL9k>on.9 .1.Th(t 4ority wa4ter unstl he lu/rt-mu 4s r-h">thx/re/hold6x.#L1tasv_structxpoocuer.#L1.#L1hx/re. B24 0lt-mu1kuau classinekun" namL5k>on.5 .1.which "ped own5r blockityn a lu/rt-mu 5t1uen50t-muumentavalu/rkeepetra v.#L1.#L1"hx/re/umep93dd4."lt-mu"rttion> h//kuau classinekun" namL5k>on.5 .1.which 1.a hrer5=Documentavalu/rt-mutex5#L12k51ee aemporas"l/spaeL17kuau classinekun" namL17k>on17 .1./<5--------5--------------------- <5ntava52 iL9kuau classinekun" namL9k>on.9 .1.Th(t 5a hrern=5Documentavalu/rt-mutex.5ntava5u/rt-1hx/re//////////bit1////bit0kuau classinekun" namL9k>on.9 .1.Th(t 5-mues wi5th priority inheritance5#L15k54sed. NULL////////// 0l///// 0l///// rn=Documeflu/r( ast acquibf1possion.9 .1.Th(t 5 enable ppt.a ad_rt-mu_t priorityimple55sed. NULL////////// 0l///// 1l///// invalidl/spaekuau classinekun" namL9k>on.9 .1.Th(t 5eritance5protocol./<.1.a hrern=D5cumen56sed. NULL////////// 1////// 0l///// TransiamL9al sspae*kuau classinekun" namL9k>on.9 .1.Th(t 51.a hrer5=Documentavalu/rt-mutex5#L18k57sed. NULL////////// 1////// 1l///// invalidl/spaekuau classinekun" namL9k>on.9 .1.Th(t 5ow prior5ty owner of a lu/rt-mu 5nheri5" iL91tasvpoocuer.// 0l///// 0l///// rn=Documeheld.( ast ntavalu1possion.9 .1.Th(t 5ority wa5ter unstl he lu/rt-mu 5s ron.6 .1.(PTHRE"ped own6r blockityn a lu/rt-mu 6t1uen60 iL91tasvpoocuer.// 1////// 0l///// rn=Documeheld.t-muhasxemporaskuau classinekun" namL6k>on.6 .1.(PTHRE1.a hrer6=Documentavalu/rt-mutex6#L12k61 iL91tasvpoocuer.// 1////// 1l///// tasvtumep93dd4.1hx/re.t-mution> h//on.6 .1.(PTHRE--------6--------------------- <6ntava62 iL9kuau classinekun" namL9k>on.9 .1.Th(t 6a hrern=6Documentavalu/rt-mutex.6ntava6u/rt-P93dd4.-hx/reshipehandld4.lumeaep9rve=otex.#e= .miznamL9L13kuau classinekun" namL13k>on13 .1.--6-mues wi6th priority inheritance6#L15k64sed. 93dd4.-hx/reshipeumeassigkup"u/r.#L1first (up" isocumentava)temporar#L13kuau classinekun" namL13k>on13 .1.--6 enable 6pt.a ad_rt-mu_t priorit6imple65ee a.#L1tion>,.wheDocumern=Documentavalu/rtndet/rt-mucumewokeDoup.t-mu2n.#13kuau classinekun" namL13k>on13 .1.--6EAD_PRIO__INHERIT). [See rn=Documcumen6avalu/tl/sprt=D hecu.d4.lut curnacquibf1cumern=Do. Uly/<.1.a rn=Documetaken16kuau classinekun" namL16k>on16 .1.in61.a hrer6=Documentavalu/rt-mutex6#L18k67sed.texut (b24 0l stcavared)eaecompe.d4.lup" iL/rt-mutex./rt-mu curn"4.1al"16kuau classinekun" namL16k>on16 .1.in6ow prior6ty owner of a lu/rt-mu 6nheri68ee a.#L1tion>PIe att1utavalu/wokeDoup./rt-mu ba v.#n..#L1empora4.list.16kuau classinekun" namL16k>on16 .1.in6ority wa6ter unstl he lu/rt-mu 6s ron.4 .1.RT/rt7"ped own7r blockityn a lu/rt-mu 7t1uen70ee andet 93dd4.-hx/reshipee= .miznamL9r strspeciallexu20kutan-mutexthe16kuau classinekun" namL16k>on16 .1.in71.a hrer7=Documentavalu/rt-mutex7#L12k71/rt-unocuerrup.1.1workfrior/<.up" - If tasv4.Ie attrepepaediL20kuau classinekun" namL20k>on26.pa>bo7--------7--------------------- <7ntava72 iL9takes/ntavalus# v4.teat#havetrioer- If emporas. W-ftutextarg20kuau classinekun" namL20k>on26.pa>bo7a hrern=7Documentavalu/rt-mutex.7ntava7u/rt-e= .miznamL9r.#L1up" iL- If trt-mu would.pd4.-po4.lu/r.#L1rioer- If 20kuau classinekun" namL20k>on26.pa>bo7-mues wi7th priority inheritance7#L15k74 iL9tasvt[becatavrat#il v tim1 wvralwaymeassigkeaenew1hx/re].16kuau classinekun" namL16k>on16 .1.in7 enable 7pt.a ad_rt-mu_t priorit7imple75 iL4kuau classinekun" namL4k>on.4 .1.RT/rt7EAD_PRIO7_INHERIT). [See rn=Docu7cumen7api-ft*)tndet"tion> h//on.4 .1.RT/rt7 PI-ft-muues.]/<.1.a hrern=Docume#L18k77sed.doesn'4 alt-muy#haveturnhx/re,xtarglb24 rglquicklexcavared imutexrocumekuau classinekun" namL4k>on.4 .1.RT/rt7ow prior7ty owner of a lu/rt-mu 7nheri78ee an emporas. SoxtarglumeaetransiamL9al sspaelu/rtynchronizePI-ft-clasd4.kuau classinekun" namL4k>on.4 .1.RT/rt7ority wa7ter unstl he lu/rt-mu 7s r aity/<.1tion> ox/re/ntavald4.lu#L1rickrkuau classinekun" namL8k>on.8 .1./<.1.a"ped own8r blockityn a lu/rt-mu 8t1uen80ee a Thenerigi9al LXR softwumentex.#L1uau classhttp://sourc utege.net/projects/lxa">LXR communotyee a,xtarglexp9riun" nl vrasmL9rtexuau classmailto:lxa@on.1..no">lxa@on.1..noee a. umref lxa.on.1..no sd4diL hv4.1.1texuau classhttp://www.redpill-on.pro.no">Redpill Ln.pro ASee a,xprovider.#L1Ln.1. con1.did4.lurdne=er" namslservicus#ld4x.#1995. umref