{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:11:28Z","timestamp":1763467888062,"version":"3.41.0"},"reference-count":58,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2008,7,1]],"date-time":"2008-07-01T00:00:00Z","timestamp":1214870400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CNS-0719851"],"award-info":[{"award-number":["CNS-0719851"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2008,7]]},"abstract":"<jats:p>There can be no doubt that a great many technologies have been added to Linux\u2122 over the past ten years. What is less well-known is that it is often necessary to introduce a large amount of Linux into a given technology in order to successfully introduce that technology into Linux. This paper illustrates such an introduction of Linux into technology with Read-Copy Update (RCU). The RCU API's evolution over time clearly shows that Linux's extremely diverse set of workloads and platforms has changed RCU to a far greater degree than RCU has changed Linux---and it is reasonable to expect that other technologies that might be proposed for inclusion into Linux would face similar challenges. In addition, this paper presents a summary of lessons learned and an attempt to foresee what additional challenges Linux might present to RCU.<\/jats:p>","DOI":"10.1145\/1400097.1400099","type":"journal-article","created":{"date-parts":[[2008,8,12]],"date-time":"2008-08-12T13:10:22Z","timestamp":1218546622000},"page":"4-17","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["Introducing technology into the Linux kernel"],"prefix":"10.1145","volume":"42","author":[{"given":"Paul E.","family":"McKenney","sequence":"first","affiliation":[{"name":"IBM Beaverton"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jonathan","family":"Walpole","sequence":"additional","affiliation":[{"name":"Portland State University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,7]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"297","volume-title":"Proceedings of the 2003 USENIX Annual Technical Conference (FREENIX Track) (June","author":"Arcangeli A.","year":"2003"},{"volume-title":"{patch} cpufreq: mark cpufreq_tsc() as core_initcall_sync. Available: http:\/\/lkml.org\/lkml\/2006\/11\/17\/56 {Viewed","year":"2007","author":"Axboe J.","key":"e_1_2_1_2_1"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1341312.1341315"},{"key":"e_1_2_1_4_1","first-page":"2004","author":"Corbet J.","year":"2008","journal-title":"Viewed"},{"key":"e_1_2_1_5_1","first-page":"2004","author":"Corbet J.","year":"2008","journal-title":"Viewed"},{"key":"e_1_2_1_6_1","first-page":"2005","author":"Corbet J.","year":"2005","journal-title":"Viewed"},{"key":"e_1_2_1_7_1","first-page":"2008","author":"Corbet J.","year":"2008","journal-title":"Viewed"},{"volume-title":"{patch 1\/2} Linux kernel markers - support multiple probes. Available: http:\/\/lkml.org\/lkml\/2007\/12\/20\/244 {Viewed","year":"2008","author":"Desnoyers M.","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","first-page":"87","volume-title":"Proceedings of the 3rd Symposium on Operating System Design and Implementation","author":"Gamsa B.","year":"1999"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.472.0221"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2007.04.010"},{"volume-title":"{-mm PATCH 1\/4} RCU: split classic rcu. Available: http:\/\/lkml.org\/lkml\/2006\/9\/28\/160 {Viewed","year":"2008","author":"Hellwig C.","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_15_1","first-page":"2004","author":"Houston J.","year":"2005","journal-title":"Viewed"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPPS.1992.222989"},{"volume-title":"September","year":"1993","author":"Jacobson V.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","first-page":"11","volume-title":"USENIX","author":"John A.","year":"1995"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/320613.320619"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/42392.42399"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1270.318576"},{"volume-title":"IEEE INFOCOM'90 Proceedings","year":"1990","author":"McKenney P. E.","key":"e_1_2_1_22_1"},{"volume-title":"conf. au","year":"2004","author":"McKenney P. E.","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","first-page":"136","volume":"1","author":"McKenney P. E.","year":"2005","journal-title":"Linux Journal"},{"key":"e_1_2_1_26_1","first-page":"2006","author":"McKenney P. E. RCU","year":"2007","journal-title":"Viewed"},{"volume-title":"Available: http:\/\/www.rdrop.com\/users\/paulmck\/RCU\/srcu.2007.01.14a.pdf {Viewed","year":"2006","author":"McKenney P. E.","key":"e_1_2_1_27_1"},{"key":"e_1_2_1_28_1","first-page":"2007","author":"McKenney P. E.","year":"2007","journal-title":"Viewed"},{"volume-title":"Available: http:\/\/lkml.org\/lkml\/2007\/2\/25\/18 {Viewed","year":"2008","author":"McKenney P. E.","key":"e_1_2_1_29_1"},{"volume-title":"Priority-boosting RCU read-side critical sections. Available: http:\/\/www.rdrop.com\/users\/paulmck\/RCU\/RCUbooststate.2007.04.16a.pdf {Viewed","year":"2007","author":"McKenney P. E.","key":"e_1_2_1_30_1"},{"key":"e_1_2_1_31_1","first-page":"2007","author":"McKenney P. E. RCU","year":"2007","journal-title":"Viewed"},{"key":"e_1_2_1_32_1","first-page":"2007","author":"McKenney P. E.","year":"2007","journal-title":"Viewed"},{"key":"e_1_2_1_33_1","first-page":"2008","author":"McKenney P. E.","year":"2008","journal-title":"Viewed"},{"key":"e_1_2_1_34_1","first-page":"2008","author":"McKenney P. E.","year":"2008","journal-title":"Viewed"},{"volume-title":"Ottawa Linux Symposium (July","year":"2001","author":"McKenney P. E.","key":"e_1_2_1_35_1"},{"key":"e_1_2_1_36_1","first-page":"2001","author":"McKenney P. E.","year":"2004","journal-title":"Viewed"},{"volume-title":"Australia","year":"2005","author":"McKenney P. E.","key":"e_1_2_1_37_1"},{"key":"e_1_2_1_38_1","first-page":"338","volume-title":"Ottawa Linux Symposium (June 2002","author":"McKenney P. E.","year":"2002"},{"key":"e_1_2_1_39_1","first-page":"2","volume-title":"Ottawa Linux Symposium (July 2006","author":"McKenney P. E.","year":"2006"},{"key":"e_1_2_1_40_1","first-page":"509","volume-title":"NV","author":"McKenney P. E.","year":"1998"},{"key":"e_1_2_1_41_1","first-page":"2007","author":"McKenney P. E.","year":"2007","journal-title":"Viewed"},{"key":"e_1_2_1_42_1","first-page":"2007","author":"Meuer H.","year":"2008","journal-title":"Viewed"},{"volume-title":"Available: http:\/\/lkml.org\/lkml\/2007\/1\/3\/112 {Viewed","year":"2007","author":"Minyard C.","key":"e_1_2_1_43_1"},{"key":"e_1_2_1_44_1","first-page":"2000","author":"Molnar I.","year":"2004","journal-title":"Viewed"},{"key":"e_1_2_1_45_1","first-page":"2004","author":"Morris J.","year":"2004","journal-title":"Viewed"},{"volume-title":"{patch} cpufreq: mark cpufreq_tsc() as core_initcall_sync. Available: http:\/\/lkml.org\/lkml\/2006\/11\/19\/69 {Viewed","year":"2007","author":"Nesterov O.","key":"e_1_2_1_46_1"},{"key":"e_1_2_1_47_1","first-page":"2006","author":"Olsson R.","year":"2007","journal-title":"Viewed"},{"volume-title":"RCU lockless readside. Available: http:\/\/lkml.org\/lkml\/2006\/6\/20\/238 {Viewed","year":"2008","author":"Piggin N.","key":"e_1_2_1_48_1"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/36206.36181"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294271"},{"volume-title":"Available: http:\/\/lkml.org\/lkml\/2008\/1\/29\/208 {Viewed","year":"2008","author":"Rostedt S.","key":"e_1_2_1_52_1"},{"volume-title":"Re: modular net drivers. Available: http:\/\/oss.sgi.com\/projects\/netdev\/archive\/2000-06\/msg00250.html {Viewed","year":"2006","author":"Russell R.","key":"e_1_2_1_53_1"},{"key":"e_1_2_1_54_1","first-page":"182","volume-title":"Proceedings of the 2004 USENIX Annual Technical Conference (FREENIX Track) (June","author":"Sarma D.","year":"2004"},{"key":"e_1_2_1_55_1","first-page":"2005","author":"Seigh J.","year":"2005","journal-title":"Viewed"},{"key":"e_1_2_1_56_1","first-page":"2001","author":"Spraul M.","year":"2004","journal-title":"Viewed"},{"key":"e_1_2_1_57_1","first-page":"2004","author":"Spraul M.","year":"2004","journal-title":"Viewed"},{"volume-title":"Available: http:\/\/lkml.org\/lkml\/2002\/10\/15\/425 {Viewed","year":"2008","author":"Torvalds L.","key":"e_1_2_1_58_1"},{"volume-title":"Available: http:\/\/marc.theaimsgroup.com\/?l=linux-kernel&m=105209603501299&w=2 {Viewed","year":"2004","author":"Torvalds L.","key":"e_1_2_1_59_1"},{"key":"e_1_2_1_60_1","first-page":"2003","author":"Torvalds L.","year":"2004","journal-title":"Viewed"},{"key":"e_1_2_1_61_1","first-page":"1989","author":"Transaction Processing Performance Council","year":"2007","journal-title":"Viewed"},{"volume-title":"{PATCH 3\/7} barrier: a scalable synchonisation barrier. Available: http:\/\/lkml.org\/lkml\/2007\/1\/28\/34 {Viewed","year":"2008","author":"Zijlstra P.","key":"e_1_2_1_62_1"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1400097.1400099","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1400097.1400099","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:57:53Z","timestamp":1750255073000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1400097.1400099"}},"subtitle":["a case study"],"short-title":[],"issued":{"date-parts":[[2008,7]]},"references-count":58,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2008,7]]}},"alternative-id":["10.1145\/1400097.1400099"],"URL":"https:\/\/doi.org\/10.1145\/1400097.1400099","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2008,7]]},"assertion":[{"value":"2008-07-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}