linux/Documentation/lockdep-design.txt
<<
n> 2" /spa3.1 2" /form.1 2" a n> 2" href="../linux+v3.7.1/Documenta="v3/lockdep-design.txt">n> 2" img src="../.sta="c/gfx/right.png" alt=">>">n> /spa3.1n> spa3 class="lxr_search">n> n> 2" input typ4.1hidden" nam4.1navtarget" v3.14.1">n> 2" input typ4.1text" nam4.1search" id.1search">n> 2" butt typ4.1submit">Search spa3 class="lxr_prefs".1 2" a href="+prefs?return=Documenta="v3/lockdep-design.txt"n> 2" onclick="return ajax_prefs();">n> 2"Prefs1 2" /a>n> /spa3.1 2" " /div.1 2" " form ac="v3="ajax+*" method="post" onsubmit="return false;">n> input typ4.1hidden" nam4.1ajax_lookup" id.1ajax_lookup" v3.14.1">n 2" " /form.1n 2" " div class="headingbott m">" "1 /a>Runtime locking correctness v3.idator " "2 /a>===================================== " "3 /a>n" "4 /a>started by Ingo Molnar <mingo@redhat.com>n" "5 /a>addi="v3s by Arja v3n de Ven <arja @linux.intel.com>n" "6 /a>n" "7 /a>Lock-classn" "8 /a>----------n" "9 /a>n" vala>The basic object the v3.idator operates up is a 'class' of locks.n" 11 /a>n" 12 /a>A class of locks is a group of locks that are logically the sam4 withn" 13 /a>respect to locking rules, even if the locks may have multiple (possiblyn" 14 /a>tens of thousands of) instantia="v3s. For example a lock in the inoden" 15 /a>struct is one class, while each inode has its own instantia="v3 of thatn" 16 /a>lock class.n" 17 /a>n" 18ala>The v3.idator tracks the 'sta=e' of lock-classes, and it tracksn" 19 /a>dependencies between different lock-classes. The v3.idator maintains a " 2vala>rolling proof that the sta=e and the dependencies are correct.n" 21 /a>n" 22 /a>Unlike an lock instantia="v3, the lock-class itself never goes away: whenn" 23 /a>a lock-class is used for the first time after bootup it gets registered,n" 24 /a>and all subsequent uses of that lock-class will be attached to thisn" 25 /a>lock-class.n" 26 /a>n" 27 /a>Sta=en" 28 /a>-----n" 29 /a>n" 30ala>The v3.idator tracks lock-class usage history into 4n + 1 separate sta=e bits:n" 31 /a>n" 32 /a>- 'ever held in STATE context'n" 33 /a>- 'ever held as readlock in STATE context'n" 34 /a>- 'ever held with STATE enabled'n" 35 /a>- 'ever held as readlock with STATE enabled'n" 36 /a>n" 37 /a>Where STATE can be either one of (kernel/lockdep_sta=es.h)n" 38 /a> - hardirqn" 39 /a> - softirqn" 40 /a> - reclaim_fsn" 41 /a>n" 42 /a>- 'ever used' [ == !unused ]n" 43 /a>n" 44 /a>When locking rules are viola=ed, these sta=e bits are presented in then" 45 /a>locking error messages, inside curlies. A contrived example:n" 46 /a>n" 47 /a> modprobe/2287 is trying to acquire lock:n" 48 /a> (&sio_locks[i].lock){-.-...}, at: [<c02867fd>] mutex_lock+0x21/0x24n" 49 /a>n" 50 /a> but task is already holding lock:n" 51 /a> (&sio_locks[i].lock){-.-...}, at: [<c02867fd>] mutex_lock+0x21/0x24n" 52 /a>n" 53 /a>n" 54ala>The bit posi="v3 indicates STATE, STATE-read, for each of the sta=es listedn" 55 /a>above, and the character displayed in each indicates:n" 56 /a>n" 57 /a> '.' acquired while irqs disabled and not in irq contextn" 58 /a> '-' acquired in irq contextn" 59 /a> '+' acquired with irqs enabledn" 60 /a> '?' acquired in irq context with irqs enabled.n" 61 /a>n" 62 /a>Unused mutexes cannot be part of the cause of an error.n" 63 /a>n" 64 /a>n" 65 /a>Single-lock sta=e rules:n" 66 /a>------------------------n" 53 /1pio20 n23tin> 43.14.142pio12n3on>v3/lockd <2pio16n value="v3.txt#L6nam4.1L567" ue6ne" na3/lo260" 1 iRells a <.1L6ne" nlue="v3.18.10"n2nam4.1L53">" 53 /1pi nam4.1L69">" 59 /a> '+$ ac6uiredfollowentaocumenthrefexclusisplayed one6nta=es.ha hm:n" 53 /1p7 nam4.1L70">" 60 /a> '?% ac7uiredsetlisteany="v3.txt#L6/lockdep-design.txt#L66" id.1L66" class="line7 nam4.1L71">" 61 /a>n" 62 /a>Unused mutex7s can7ot beom>e" na3/l60" 24n" 63 /a>n" 64 /a>n" 65 /a>Single-lock 7ta=e 75 lock-class usage detec" 66 /a>------------7-----7-----s" "7 /a>Lock-classn" 53 /1p7o20 n23t7n> 43.14.142pio12n3on7v3/lo7kd Mf="Def="Do.n" 59 /a> '+% ac79----n" 60 /a> '?& ac808"n2.1L6ne" nlue="v3.18.10"n2nam4.1L53">" 53 /1p8 nam4.1L81">" 61 /a>n" 53 /1p8 nam4.1L82">" 62 /a>Unused mutex8s can8ot bef the lumenursTE-rded'3/lockdep-design.txt#L63" id.1L63" class="line8 nam4.1L83">" 63 /a>n" 64 /a>n" 65 /a>Single-lock 8ta=e 85"v3/lockdep-design.txt#L64" id.1L64" class="line8 nam4.1L86">" 66 /a>------------8-----86t beom>L124n" "7 /a>Lock-classn" "8 /a>----------n" 59 /a> '+& ac89----beef="Do"v3/ed.uld l=esif the lul.versTE-rded'3/ (k-class usagelockdep-design.txt#L9" id.1L9" class="line" n nam4.1L90">" 60 /a> '?' ac908"n2fiFor sucht.n" 61 /a>n" 62 /a>Unused mutex9s can9ot beass usage n" 63 /a>n" 64 /a>n" 65 /a>Single-lock 9ta=e 95----besses. any=two (posmaintain/lockdep-design.txt#L66" id.1L66" class="line9 nam4.1L96">" 66 /a>------------9-----9="v3/lockdep-design.txt#L57" id.1L57" class="line9nam4.1L79">" "7 /a>Lock-classn" "8 /a>----------n" "9 /a>n" vala>The basic obje; aje; lock-clit geta="ved.="Dofromatup ias up a e" na3/l60" of="Dod.uld b<.1L6ne" nlue="v3.18.10"n2nam4.1L53">" 53 /1p10 nam4.1L101">" 11 /a>n" 53 /1p10 nam4.1L102">" 12 /a>A class of lo02 ajeot befhu/ed.uld .1 diol. athe lul.versTE-rded'. Likewisplay <2pio16n60" .1L6ne" nlue="v3.18.10"n2nam4.1L53">" 53 /1p10 nam4.1L103">" 13 /a>respect to lo03 aje3"Documenta.uld b< tak muby an <2pio16ed.n" 53 /1p10 nam4.1L104">" 14 /a>tens of thous04 aje4"Documen/lockdep-design.txt#L17" id.1L17" class="line"0 nam4.1L105">" 15 /a>struct is one05 aje5"v3/lockdep-design.txt#L64" id.1L64" class="line10 nam4.1L106">" 16 /a>lock class.n<06 aje6 lock-cl dispse sta=e bienforcter booany="v3.de ck-clascecattacocnursta="v3/lockdep-design.txt#L45" id.1L45" class="line10 nam4.1L107">" 17 /a>n" 18ala>The v3.idator08 aje8ses ofyta="vcts areTE-rlasses. a hrnew="v3. hed ofyt.n" 19 /a>dependencies 09 aje="v3/lockdep-design.txt#L10" id.1L10" class="line"" nam4.1L110">" vala>The basic objject 1he v3.iola= the first tichangeof thacumenlatup iollowentaaeven st.n" 11 /a>n" 12 /a>A class of loocks 11="v3/lockdep-design.txt#L53" id.1L53" class="line1" nam4.1L113">" 13 /a>respect to loockin11 readloifaannew=e" na3/l60" of="Doiq concisp"v3/ we;cheosi"v3dep_si/lockdep-design.txt#L16" id.1L16" class="line"" nam4.1L114">" 14 /a>tens of thoussands1of) in if ok ofyte" na3/lo260" f="Documentapas3/lockdep-design.txt#L21" id.1L21" class="line1" nam4.1L115">" 15 /a>struct is onee cla115"v3/lockdep-design.txt#L64" id.1L64" class="line1" nam4.1L116">" 16 /a>lock class.n<" 17 /a>n" 18ala>The v3.idatorr tra118"v3/lockdep-design.txt#L64" id.1L64" class="line1" nam4.1L119">" 19 /a>dependencies betw1en difloifaannew=e" na3/l value="v3.ocq concisp"v3/ we;cheosi"v3dep_sanylockdep-design.txt#L9" id.1L9" class="line" 1" nam4.1L120">" 2vala>rolling proo1f tha12uired ie" na3/l60" of="Dof ok itocumentapas3/lockdep-design.txt#L21" id.1L21" class="line1" nam4.1L121">" 21 /a>n" 12 /a>A class of loccks 122"Docloifaannew=<2pio16n value="v3.ocq concisp"v3/ we;cheosi"v3dep_sanylockdep-design.txt#L9" id.1L9" class="line" 1" nam4.1L123">" 23 /a>a lock-class1 is u1ed for =<2pio16n60" of="Dof ok itocumentapas3/lockdep-design.txt#L21" id.1L21" class="line1" nam4.1L124">" 24 /a>and all subs1equen12="v3/lockdep-design.txt#L65" id.1L65" class="line1" nam4.1L125">" 25 /a>lock-class.n1" 26 /a>n" 27 /a>Sta=en" 53 /1p1" nam4.1L128">" 28 /a>-----n" 29 /a>n" 30ala>The v3.idato1r tra1ks locExce2" /s: Ne"v3/ &#ao.n" 31 /a>n" 32 /a>- 'ever 1held 13="v3/lockdep-design.txt#L53" id.1L53" class="line13 nam4.1L133">" 13 /a>respect to locis u1s readTenumee bia few=caill wenumea hrLef=" n" 34 /a>- 'ever 1held 1ith STclass ce href="Donta="v3.txt#L6. Suchtcaill typ ue6ne"p" 35 /a>- 'ever 1held 1s reado ssota=soror.n" 36 /a>n" 37 /a>Where STAT1E can1be eit(defa>Wingo@umentrDoclties s href=n" 38 /a> - hardirq1n" 39 /a> - softirq1n" 40 /a> - reclaim1_fsn<1 href=An inoden" 41 /a>n" 42 /a>- 'eve1r use1' n rate;cumentaer STATume3"n er4Do"iumenwhon" 43 /a>n" 14 /a>tens of thou1held4je4"Documf never goidaord" 45 /a>locking er1ror m1ssagesm4.1L567" uee detecumme3naturalidaord" 53 /1ne" nam4.11L46">" 46 /a>n" 47 /a> modprob1e/22814ta="v3/lockdep-design.txt#L18" id.1L18" class="linne" nam4.11L48">" 48 /a> (&1sio_l1cks[i]. Idaord entatedn<,up is a about"Do"v3/enta="nta1 semodel,aann3/lockdep-design.txt#L18" id.1L18" class="linne" nam4.11L49">" 49 /a>n" 50 /a> but tas1k is 1lreadyaaevifyedc"ntneument- vl". An inoden" 51 /a> (&1sio_l1cks[i] " /mentk="Do"vte/lockdep-design.txt#L66" id.1L66" class="linne" nam4.11L52">" 52 /a>n" 53 /a>n" 53/lockdep-design.txt#L53" id.1L53" class="li1ne" nam4.11L54">" 54ala>The bit po1si="v1 indic{3/lockdep-design.txt#L53" id.1L53" class="li1n13 nam4.11L55">" 55 /a>above, and1 the 1haractmenta="BD_MUTEX_NORMALv3/lockdep-design.txt#L24" id.1L24" class="li1ne" nam4.11L56">" 56 /a>n" 57 /a> '.&1#39; 1acquired ta="BD_MUTEX_PARTITION3/lockdep-design.txt#L24" id.1L24" class="li1ne" nam4.11L58">" 58 /a> '-&1#39; 1acquir};3/lockdep-design.txt#L30" id.1L30" class="linne" nam4.11L59">" 59 /a> '+&1#39; 151a="v3/lockdep-design.txt#L30" id.1L30" class="linne" nam4.11L60">" 60 /a> '?&1#39; 1acquirea href="Do_ntne"vk){-.-bDov a-24bd_tntanta= a-24bd_ of tv"BD_MUTEX_PARTITION);3/lockdep-design.txt#L30" id.1L30" class="linne" nam4.11L61">" 61 /a>n" 62 /a>Unused mut1exes 1annot Iocumme33/il never go, th.ocq6nta=ola=bdevin rate.qsam4.ocknhatnenta="v3/lockdep-design.txt#L20" id.1L20" class="li1ne" nam4.11L63">" 63 /a>n" 64 /a>n" 65 /a>Single-loc1k sta16 75 lock-class usagtreaec" 16 /a>lock class.nocum1------a href="D(sub)first er bootupurpo will bclass uTATs3/lockdep-design.txt#L21" id.1L21" class="linne" nam4.11L6ne" nlue="v3.18.10" 1 ue=1v3.18"n2.1L6ne" nlue="v3.18.10"n2nam4.1L53">" 53 /11pio20 n213tin> 43.14.142pio12n31on>v31lockd Note: 3.ioltichator " 53 /11pi nam4.11L69">" 59 /a> '+&1#36; 1ac6uire;cheorearef="Doroughlye dependenn" 53 /11p7 nam4.11L70">" 60 /a> '?&1#37; 1ac7uiryou menngdsethiddATE, STvailr bthiddAnegaSTvaiv3/lockdep-design.txt#L17" id.1L17" class="linee" nam4.11L71">" 61 /a>n" 62 /a>Unused mut1ex7s 1an7ot Pd thethe100% " 63 /a>n" 64 /a>n" 65 /a>Single-loc1k 7ta1e 75 lock-class usagednievailperfref,emn.ha 567" cks.n" 66 /a>----------1--7--171a="v3/ href="Do)itocumensensscecatt listl.vy siden<,oaltndal6nta--s" 17 /a>n" 59 /a> '+&1#37; 1ac79--combin areTElayedia hrrs hrefseny="v3.de ck-clase cau href=" woffirst of3/lockdep-design.txt#L18" id.1L18" class="linne8 nam4.11L80">" 60 /a> '?&1#38; 1ac808"_sinrres areE-rded'[*v3/lockdep-design.txt#L43" id.1L43" class="li11p8 nam4.11L81">" 61 /a>n" 62 /a>Unused mut1ex8s 1an8ot I i.eyed.="v href=-CPUElayehref=-g locy="v3.de scenarocq63ta oyn" 63 /a>n" 64 /a>n<1a hre184o ue=1v3718"e: "Doccq63ta lascecacocnh irpltaea(u hneve,uld .i"v3dep_sanylockdep-design.txt#L9" id.1L9" claslass="lin1e8 nam4.1L85">" 65 /a>Si1ngle-1ock 8tyehr/veterru)ub)first 75 lock-clacknhatbl2ntne"vkf37-171a="v3/ . (F-class usagelockdep-design.txt#L9" id.1L9" cla1lass="lin1e8 nam4.1L86">" 66 /a>--1-----1----8-ot;. An,8ot I i.el.versTE-erantawDo1umnorme;chenenot with irs 3 v hs33/6neulo- hed.1L6ne" nlue="v3.18.10"n2nam4.1L53"ss="line"1 8nam4.1L78">" "7 /a>Loc1k-cla1sn" 18ala>The io12n-n" 59 /a> 1 Ƈ+&o260!ndicecyet//lockdep-design.txt#L38" id.1L38" clss="line"1 n nam4.1L90">" 60 /a> 1 ཏ& ac808"n2.1L6ne" nlue="v3.18.10"n2nam4.1L531ss="line"1 n nam4.1L91">" 61 /a>n<1a hre19"Do8umehieradsm4.1L567ciren1a="v3 arbitrarye i(pd theth808"_sinrQArifeets rs hrefe lockdep-design.txt#L30" id.1L30" cllass="lin1e9 nam4.1L92">" 62 /a>Un1used 1utex9s ajeuiredatnstanacknhao, thstprefeQArianackumenta oalatw hrment- istl.v3/ "v3.d"3/lockdep-design.txt#L30" id.1L30" cllass="lin1e9 nam4.1L93">" 63 /a>n<1a hre1="Do9undal6nta--spd theth8iFor sucht.n" 64 /a>n<1a hre1="Do9ultae,ntne"vkf37=1v3718"eidator " 65 /a>Si1ngle-1ock 9tef="Doc; 1ac79--combi(pd theth8"v3/a" methdaord
" 66 /a>--1-----1----9-catt lef="Doc; ak muby in ak muby adc"pltached (ue="vrianstlf="Doc;.d"3/lockdep-design.txt#L30" id.1L30" clls="line"1e9nam4.1L79">" "7 /a>Loc1k-cla1sn" "8 /a>---1-----19torr tra118"v3/lockdep-design.txt#L64" id.1L64" clss="line"1 9nam4.1L9"">" "9 /a>n" vala>Th2 basi20' aause of an ersy nem300&#upts the depend.versTs ses up o----bewayumenta="v3/lockdep-design.txt#L26" id.1L26" cl>" 53 /1p20 nam4.1L101">" 11 /a>n<2 href20;sio_lockWhatlsoialsumeenumdd ir NMI/SMMausths [ue="vrmen1a="v3/a.uldmenta="v3/lockdep-design.txt#L26" id.1L26" cl>ass="line0 nam4.1L102">" 12 /a>A 2lass 2f lo02locked value=3ot in irqichausths]" 53 /1p20 nam4.1L103">" 13 /a>re2pect 203lo02lock vngersTs ses up .kWhatlsoialsumeenumddrsTs64-ndic 567" : "Dnstah"Documenta="v3/lockdep-design.txt#L34" id.1L34" c2>" 53 /1p20 nam4.1L104">" 14 /a>te2s of 204lo02lock " /fhe fini"v3nsscecatt lef="Do: "Dnef="Do)iy nem. Also,lef="menta="v3/lockdep-design.txt#L34" id.1L34" c2>5 53 /1p209 nam4.1L95">" 65 /a>Si2uct i201 the 1habef the luv3.txt#L6nmu"v3.t a irs 20umenta="v3/lockdep-design.txt#L26" id.1L26" cl>ass="line0 nam4.1L106">" 16 /a>lo2k cla20"Documenta="v3/lockdep-design.txt#L27" id.1L27" class="line20 nam4.1L107">" 17 /a>n<2 href2"Doc07P/aformetaehref="Dote/lockdep-design.txt#L66" id.1L66" c2ass="line20 nam4.1L108">" 18ala>Th2 v3.i20-n" 19 /a>de2enden2ies 09 aje="v3/lockdep-design.txt#L10" id.1L10" c2ass="line2" nam4.1L110">" vala>Th2 basi2c object te6 lock-cl dre href=_m.1Live_ amoun="in rrucorrec 1ac6ref. IfDoc(Ascenario cod.1L6ne" nlue="v3.18.10"n2nam4.1L532ass="line2" nam4.1L111">" 11 /a>n<2 href2"Docu1ensensscecatt lreaec" 12 /a>A 2lass 2f loocrr suran ersy nem3 id.n.t4.1L5]n" 13 /a>re2pect 2o looce fO(N^2),ak ked vngej3.txTenumehundruot;ntny=two (pDoc"Docudccq63ta ld oyn" 14 /a>te2s of 2thousands of) instantia="ve;doesensscecatt led&#oumenta="v3/lockdep-design.txt#L21" id.1L21" cla5 53 /1p2" nam4.1L115">" 15 /a>st2uct i2 onee cla115"v3/lockdep-design.txt#L64" id.1L64" c2ass="line2" nam4.1L116">" 16 /a>lo2k cla216Do8umehietryilnta=essolvit(def 1ac6ref---begid"Docuf=-g locy="v3.de" 17 /a>n<2 href2"Doccuy="v3.de are logicaipm4. getsaord one"p)usisplayceexamistl.vadepf neffirst of3/lockdep-design.txt#L18" id.1L18" c2ass="line2" nam4.1L118">" 18ala>Th2 v3.i2atorr fyt.n" 19 /a>de2enden2ies bt4.cuta=e biue="vrstahke fini"v3nsscecatt lef=""e: "Dementastahk " /fumenta="v3/lockdep-design.txt#L24" id.1L24" cllass="linee" nam4.1L20">" 2vala>rolling 2roo1f e6ne"p" 21 /a>n" 22 /a>Unliass 2f locc=1v3718"e: "Dlascecatar1f= ta=exWind " n" 23 /a>a lock-c2ass1 idonrocq63ta href="Dos"p" 24 /a>and all 2ubs1equen12="v3/lockdep-design.txt#L65" id.1L65" c2lass="linee" nam4.1L25">" 25 /a>lock-cla2s.n1" 26 /a>n" 27 /a>Sta=en" 28 /a>-----n" 29 /a>n" 30ala>Th2 v3.i23& ac808"n2.1L6ne" nlue="v3.18.10"n2nam4.1L532ass="line2" nam4.1L131">" 31 /a>n<2 href23;sio_locklocksDEBUG_LOCKS_WARN_ON(id ntan=eMAX_LOCKDEP_KEYS)ndicecyet//lockdep-design.txt#L38" id.1L38" c2ass="line2" nam4.1L132">" 32 /a>- 2#39;e2er 1held 13="v3/lockdep-design.txt#L53" id.1L53" c2ass="line23 nam4.1L133">" 13 /a>re2pect 2o lociBL567faulo16MAX_LOCKDEP_KEYS hierecatntlct aca h8191hier /dchtcaild 13="v3/lockdep-design.txt#L53" id.1L53" c2aass="line3 nam4.1L134">" 34 /a>- 2#39;e2er 1he" iktoprsy nemoccq63tl" 35 /a>- 2#39;e2er 1henorme;che/ditiplt="ved;ntny=two cnh knta=, STvilur2ntne"vkpercumenta="v3/lockdep-design.txt#L14" id.1L14" c2ass="line2" nam4.1L136">" 36 /a>n<2 href2"Do1cuinitis tzna3/l v. mentslassestryilnthrefytge 3.trDost benlahref="Dote/lockdep-design.txt#L66" id.1L66" c2ass="line2" nam4.11L37">" 37 /a>Wh2re ST231 ue=1v3.18"n2.1L6ne" nlue="v3.18.10"n2nam4.1L532ass="linn2" nam4.11L38">" 38 /a> -2hardi2q1n" 39 /a> -2softi239sio_locklockwge nhu/ed.uld ;ntny=two cnh knta. ment hisu ofy/ill trantaaordmenta="v3/lockdep-design.txt#L2" id.1L2" clasass="linn2" nam4.11L40">" 40 /a> -2recla240sio_locklocknrald.versTsmod go,wge ncireende"DocloetWiflef=""etwo (p timmenta="v3/lockdep-design.txt#L2" id.1L2" clasass="line2" nam4.11L41">" 41 /a>n<2 href24;sio_locklockrantamod go; of la3/l valreadmod go,uinralref- href="Dnhum loco1uenario cod.1L6ne" nlue="v3.18.10"n2nam4.1L532ass="linn2" nam4.11L42">" 42 /a>- 2#39;e242sio_locklocketwo (p (see benlaue="vusscombi(prer.n" 43 /a>n<2 href243sio_locklocks u1sf3/Fur9;o- ve mod go,isterallTe--dluinraledeteceDostlyumenta="v3/lockdep-design.txt#L24" id.1L24" claass="line"" nam4.1L24">" 24 /a>and 39;e244sio_locklockrae numbexWiflef=""etwo (p,wge ned&#oue;che/drd entattwximumegaSTvaiv3/lockdep-design.txt#L17" id.1L17" c2aass="line3 nam4.11L45">" 45 /a>lo2king 24onee cla115"v3/lockdep-design.txt#L64" id.1L64" c2>" 53 /1n2" nam4.11L46">" 46 /a>n<2 href2"1Docu2.cklockUsiredfoass,ua hr tak mhrefrta="vdatnst63tlarge numbex woffirst of3/lockdep-design.txt#L18" id.1L18" c2ass="linn2" nam4.11L47">" 47 /a> 2modpr247sio_locklocknrogically the ="Dnexplicitlctinitis tznd.cklock in theumenta="v3/lockdep-design.txt#L24" id.1L24" class="linn2" nam4.11L48">" 48 /a> 2 (&am2p;sio_lockkkkka" 49 /a>n<2 href249sio_locklockspinrea ht,wge nconsumee8192lef=""etwo (p,-uin" 50 /a> 2but t250sio_locklockistexplicitlctinitis tznd Locrucorrethe stat;. An,8usrefe dumenta="v3/lockdep-design.txt#L24" id.1L24" class="line2" nam4.11L51">" 51 /a> 2 (&am25;sio_locklockruc-orrecspinirea hinit()edrtrpbootad.ularbii6ntarrecinitis tznrumenta="v3/lockdep-design.txt#L25" id.1L25" class="linn2" nam4.11L52">" 52 /a>n<2 href252sio_locklock tak mhr__SPIN_LOCK_UNLOCKED().cklvilur2ntne"vkpercucinitis tznmenta="v3/lockdep-design.txt#L25" id.1L25" class="linn2" nam4.11L53">" 53 /a>n<2 href253sio_locklockrae per-rec6etnspinrea sawDo1umguarantelock-clenta="3.ocflowementa="v3/lockdep-design.txt#L25" id.1L25" claass="line" nam4.11L54">" 54ala>Th2 bit 254sio_locklockInmple:nas;,q ockoprally t4.1lTenpinirea hinit()eindaord rea menta="v3/lockdep-design.txt#L24" id.1L24" claass="line3 nam4.11L55">" 55 /a>ab2ve, a2d1 the 1haracawDo1umplaon" 56 /a>n<2 href2="Documenta="v3/lockdep-design.txt#L57" id.1L57" c2ass="li1n2" nam4.11L57">" 57 /a> 2'2&1#39; 1acquiment momme3nfkDe de+ 1 sepically 1acshDo1umm1nta="explicitlcmenta="v3/lockdep-design.txt#L57" id.1L57" c2ass="linn2" nam4.11L58">" 58 /a> 2'25;sio_lockkkkkinitis tzna 1arn" 59 /a> 2'2&1#39; 151a="v3/lockdep-design.txt#L30" id.1L30" c2ass="linn2" nam4.11L60">" 60 /a> 2'2&1#39;Ont m">sargueenumddrsTsks the shDo1umbTsmodifitad.ul irqs 151a="v3/lockdep-design.txt#L30" id.1L30" c2ass="line2" nam4.11L61">" 61 /a>n<2 href261#38; 1ac8etwo (p,acknharer.nd.ckHowcattur9;o 1acthe nempttad.ulma " /men 151a="v3/lockdep-design.txt#L30" id.1L30" c2ass="linn2" nam4.11L62">" 62 /a>Un2sed m2t1exesargum&#o16e; lockeviocl"v3 ardndenciesinec" 63 /a>n<2 href2"1Docunhare of a, keepeth8"v m"ndenumddrsTs 1ac8etwo (p,acknharem lodcthe 151a="v3/lockdep-design.txt#L30" id.1L30" c2aass="line" nam4.11L64">" 64 /a>n<2 href2"1Docunstadimacknha4">6ext wf="Dolock-cld aja="v3/.graph. menpicaurs ofa &# oyn" 65 /a>Si2gle-l26ck 9ta=3 vali]. IdAgaina4.ocksayumenta="v3/lockdep-design.txt#L26" id.1L26" class="li162" nam4.1LL16">" 16 /a>lo2k cla26"Documenta="v3/lockdep-design.txt#L57" id.1L57" c2ass="linn2" nam4.11L6ne" nlue="v3.28.10"2 1 ueOfrmenrseur9;o 1acAgarucofa &iflef=""etwo (p,E-rlassx af="Dolsce"n 151a="v3/lockdep-design.txt#L30" id.1L30" c2ass="linn2io20 n213tin> 43.14.142pio12231on>vDolfir /d)spoffja=tup .txt"etwo (puckl; lof thacumenlatup arbmencigid&n 151a="v3/lockdep-design.txt#L30" id.1L30" c2ass="linn2i nam4.11L69">" 59 /a> 2'2&1#36;m4 ioae numbexWiflef=""etwo (p,recatntlct"v e cauc. he vngersTstwximumhref="Dote/lockdep-design.txt#L66" id.1L66" c2>" 53 /1127 nam4.11L70">" 60 /a> 2'27& ac808"n2.1L6ne" nlue="v3.18.10"n2nam4.1L532ass="line2" nam4.11L71">" 61 /a>n<2 href27;sio_locklockgtecrment- ;ntny=two (p;n er4D/"vkc"v3.18.1href=n 151a="v3/lockdep-design.txt#L30" id.1L30" c2ass="li1n27 nam4.11L72">" 62 /a>Un2sed m27r 1held 13="v3/lockdep-design.txt#L53" id.1L53" c2ass="lin"27 nam4.11L73">" 63 /a>n<2 href273Do8umehiearbmenci"vkduc1a="v3 umenlatup fa en" eocq6"ntalocsy nemhref="Dote/lockdep-design.txt#L66" id.1L66" c2>ass="line7 nam4.11L74">" 64 /a>n<2 href2"1Do7um1nt7="v3/lockdep-design.txt#L65" id.1L65" c2ass="li1n27 nam4.11L75">" 65 /a>Si2gle-l271 the 1haracas. any=two (po 748 [twx:h8191d'[*v3/lockdep-design.txt#L43" id.1L43" c2ass="linn27 nam4.11L76">" 66 /a>--2-----27"Documenta="v3/lockdep-design.txt#L57" id.1L57" c2ass="linn2" nam4.1LL17">" 17 /a>n<2 href2"Do ueIfDets numbexW irqcDost (748 e6 lohrefciren1a=ple:inue;che3.ocotup ,menta="v3/lockdep-design.txt#L57" id.1L57" c2ass="linn2io20 n213t7n> 43.14.142pio12231on7vt6ne"p" 59 /a> 2'2&1#37;i="vteadyDoloch ktup .txt"etwo (phref="Dote/lockdep-design.txt#L66" id.1L66" c2ass="linn28 nam4.11L80">" 60 /a> 2'2?& ac808"n2.1L6ne" nlue="v3.18.10"n2nam4.1L532ass="li1128 nam4.11L81">" 61 /a>n<2 href28;sio_locklockgtecrment- BD;n er4D/"vkc"v3.18.1 ac808"n2.1L6ne" nlue="v3.18.10"n2nam4.1L532ass="li1n28 nam4.11L82">" 62 /a>Un2sed m28r 1held 13="v3/lockdep-design.txt#L53" id.1L53" c2ass="linn28 nam4.11L83">" 63 /a>n<2 href2"1Do8uRun="v3 arbmrnew="Tenq63ta)spoa en",na6ne"arbireadTr1f=stta)spoa en"t="veld 13="v3/lockdep-design.txt#L53" id.1L53" c2aass="linee8 nam4.1L84">" 64 /a>n<2a hre284o uea ta=exWrucoffaboutbmrnewDoli="vteadyDoloch kers. menpic s hroa en"ld 13="v3/lockdep-design.txt#L53" id.1L53" c2ass="li1n2e8 nam4.1L85">" 65 /a>Si2ngle-2ock 8t.e.etlsoihelpo 1acfir /situdesiga few=carucorrec.txt"initis tz--combhfaoyn" 66 /a>--2-----2----8-b" "7 /a>Loc2k-cla2sn
T1nta=iginme3LXRak muwreaddefa>Wienta="v3/http://senrcsf3/ge.net/"vk href/lxx">LXRautbmunitylxx@lenum.no lxx.lenum.no ktudll to sucadefenta="v3/http://www.f apill-len"vk.no">R apill wen"vk AS