{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,24]],"date-time":"2025-10-24T16:37:36Z","timestamp":1761323856018,"version":"3.41.0"},"reference-count":16,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2012,12,18]],"date-time":"2012-12-18T00:00:00Z","timestamp":1355788800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2012,12,18]]},"abstract":"<jats:p>Studying execution of concurrent real-time online systems, to identify far-reaching and hard to reproduce latency and performance problems, requires a mechanism able to cope with voluminous information extracted from execution traces. Furthermore, the workload must not be disturbed by tracing, thereby causing the problematic behavior to become unreproducible.<\/jats:p>\n          <jats:p>In order to satisfy this low-disturbance constraint, we created the LTTng kernel tracer. It is designed to enable safe and race-free attachment of probes virtually anywhere in the operating system, including sites executed in non-maskable interrupt context.<\/jats:p>\n          <jats:p>In addition to being reentrant with respect to all kernel execution contexts, LTTng offers good performance and scalability, mainly due to its use of per-CPU data structures, local atomic operations as main buffer synchronization primitive, and RCU (Read-Copy Update) mechanism to control tracing.<\/jats:p>\n          <jats:p>Given that kernel infrastructure used by the tracer could lead to infinite recursion if traced, and typically requires non-atomic synchronization, this paper proposes an asynchronous mechanism to inform the kernel that a buffer is ready to read. This ensures that tracing sites do not require any kernel primitive, and therefore protects from infinite recursion.<\/jats:p>\n          <jats:p>This paper presents the core of LTTng's buffering algorithms and measures its performance.<\/jats:p>","DOI":"10.1145\/2421648.2421659","type":"journal-article","created":{"date-parts":[[2013,1,2]],"date-time":"2013-01-02T13:23:15Z","timestamp":1357132995000},"page":"65-81","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["Lockless multi-core high-throughput buffering scheme for kernel tracing"],"prefix":"10.1145","volume":"46","author":[{"given":"Mathieu","family":"Desnoyers","sequence":"first","affiliation":[{"name":"EfficiOS Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michel R.","family":"Dagenais","sequence":"additional","affiliation":[{"name":"Ecole Polytechnique de Montreal, Montreal, Quebec, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,12,18]]},"reference":[{"volume-title":"Proceedings of the Ottawa Linux Symposium.","author":"Bligh M.","unstructured":"Bligh , M. , Schultz , R. , and Desnoyers , M . 2007. Linux kernel debugging on Google-sized clusters . In Proceedings of the Ottawa Linux Symposium. Bligh, M., Schultz, R., and Desnoyers, M. 2007. Linux kernel debugging on Google-sized clusters. In Proceedings of the Ottawa Linux Symposium.","key":"e_1_2_1_1_1"},{"unstructured":"Cantrill B. M. Shapiro M. W. and Leventhal A. H. 2004. Dynamic instrumentation of production systems. In USENIX. {Online}. Available: http:\/\/www.sagecertification.org\/events\/usenix04\/tech\/general\/full_papers\/cantrill\/cantrill_html\/index.html. {Accessed: October 19 2009}.   Cantrill B. M. Shapiro M. W. and Leventhal A. H. 2004. Dynamic instrumentation of production systems. In USENIX. {Online}. Available: http:\/\/www.sagecertification.org\/events\/usenix04\/tech\/general\/full_papers\/cantrill\/cantrill_html\/index.html. {Accessed: October 19 2009}.","key":"e_1_2_1_2_1"},{"unstructured":"Corbet J. 2007a. Kernel Markers. {Online}. Available: Linux Weekly News http:\/\/lwn.net\/Articles\/245671\/. {Accessed: October 19 2009}.  Corbet J. 2007a. Kernel Markers. {Online}. Available: Linux Weekly News http:\/\/lwn.net\/Articles\/245671\/. {Accessed: October 19 2009}.","key":"e_1_2_1_3_1"},{"unstructured":"Corbet J. 2007b. On DTrace envy. {Online}. Available: Linux Weekly News http:\/\/lwn.net\/Articles\/244536\/. {Accessed: October 19 2009}.  Corbet J. 2007b. On DTrace envy. {Online}. Available: Linux Weekly News http:\/\/lwn.net\/Articles\/244536\/. {Accessed: October 19 2009}.","key":"e_1_2_1_4_1"},{"unstructured":"Corbet J. 2008. Tracing: no shortage of options. {Online}. Available: Linux Weekly News http:\/\/lwn.net\/Articles\/291091\/. {Accessed: October 19 2009}.  Corbet J. 2008. Tracing: no shortage of options. {Online}. Available: Linux Weekly News http:\/\/lwn.net\/Articles\/291091\/. {Accessed: October 19 2009}.","key":"e_1_2_1_5_1"},{"volume-title":"Proceedings of the Ottawa Linux Symposium.","author":"Desnoyers M.","unstructured":"Desnoyers , M. and Dagenais , M . 2006. The LTTng tracer: A low impact performance and behavior monitor for GNU\/Linux . In Proceedings of the Ottawa Linux Symposium. Desnoyers, M. and Dagenais, M. 2006. The LTTng tracer: A low impact performance and behavior monitor for GNU\/Linux. In Proceedings of the Ottawa Linux Symposium.","key":"e_1_2_1_7_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_8_1","DOI":"10.1002\/spe.v40:12"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1109\/TPDS.2011.159"},{"unstructured":"Hillier G. 2008. System and application analysis with LTTng. {Online}. Available: Siemens Linux Inside http:\/\/www.hillier.de\/linux\/LTTng-examples.pdf. {Accessed: June 7 2009}.  Hillier G. 2008. System and application analysis with LTTng. {Online}. Available: Siemens Linux Inside http:\/\/www.hillier.de\/linux\/LTTng-examples.pdf. {Accessed: June 7 2009}.","key":"e_1_2_1_10_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_11_1","DOI":"10.1145\/1217935.1217949"},{"volume-title":"Proceedings of the Ottawa Linux Symposium.","author":"Mavinakayanahalli A.","unstructured":"Mavinakayanahalli , A. , Panchamukhi , P. , Keniston , J. , Keshavamurthy , A. , and Hiramatsu , M . 2006. Probing the guts of kprobes . In Proceedings of the Ottawa Linux Symposium. Mavinakayanahalli, A., Panchamukhi, P., Keniston, J., Keshavamurthy, A., and Hiramatsu, M. 2006. Probing the guts of kprobes. In Proceedings of the Ottawa Linux Symposium.","key":"e_1_2_1_12_1"},{"volume-title":"Proceedings of the Ottawa Linux Symposium. {Online}. Available: http:\/\/sourceware.org\/systemtap\/systemtap-ols.pdf. {Accessed","author":"Prasad V.","unstructured":"Prasad , V. , Cohen , W. , Eigler , F. C. , Hunt , M. , Keniston , J. , and Chen , B . 2005. Locating system problems using dynamic instrumentation . In Proceedings of the Ottawa Linux Symposium. {Online}. Available: http:\/\/sourceware.org\/systemtap\/systemtap-ols.pdf. {Accessed : October 19, 2009}. Prasad, V., Cohen, W., Eigler, F. C., Hunt, M., Keniston, J., and Chen, B. 2005. Locating system problems using dynamic instrumentation. In Proceedings of the Ottawa Linux Symposium. {Online}. Available: http:\/\/sourceware.org\/systemtap\/systemtap-ols.pdf. {Accessed: October 19, 2009}.","key":"e_1_2_1_14_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1145\/1048935.1050154"},{"volume-title":"European Conference on Parallel Processing (Euro-Par).","author":"Wisniewski R. W.","unstructured":"Wisniewski , R. W. , Azimi , R. , Desnoyers , M. , Michael , M. M. , Moreira , J. , Shiloach , D. , and Soares , L . 2007. Experiences understanding performance in a commercial scale-out environment . In European Conference on Parallel Processing (Euro-Par). Wisniewski, R. W., Azimi, R., Desnoyers, M., Michael, M. M., Moreira, J., Shiloach, D., and Soares, L. 2007. Experiences understanding performance in a commercial scale-out environment. In European Conference on Parallel Processing (Euro-Par).","key":"e_1_2_1_16_1"},{"unstructured":"Yaghmour K. and Dagenais M. R. 2000. The Linux Trace Toolkit. Linux Journal. {Online}. Available: http:\/\/www.linuxjournal.com\/article\/3829. {Accessed: October 19 2009}.  Yaghmour K. and Dagenais M. R. 2000. The Linux Trace Toolkit. Linux Journal. {Online}. Available: http:\/\/www.linuxjournal.com\/article\/3829. {Accessed: October 19 2009}.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the Ottawa Linux Symposium. 519--531","author":"Zanussi T.","year":"2009","unstructured":"Zanussi , T. , Wisniewski , K. Y. R. , Moore , R. , and Dagenais , M . 2003. RelayFS: An efficient unified approach for transmitting data from kernel to user space . In Proceedings of the Ottawa Linux Symposium. 519--531 . {Online}. Available : http:\/\/www. research.ibm.com\/people\/b\/bob\/papers\/ols03.pdf. {Accessed: October 19, 2009 }. Zanussi, T.,Wisniewski, K. Y. R., Moore, R., and Dagenais, M. 2003. RelayFS: An efficient unified approach for transmitting data from kernel to user space. In Proceedings of the Ottawa Linux Symposium. 519--531. {Online}. Available: http:\/\/www. research.ibm.com\/people\/b\/bob\/papers\/ols03.pdf. {Accessed: October 19, 2009}."}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2421648.2421659","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2421648.2421659","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:18:34Z","timestamp":1750234714000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2421648.2421659"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,12,18]]},"references-count":16,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,12,18]]}},"alternative-id":["10.1145\/2421648.2421659"],"URL":"https:\/\/doi.org\/10.1145\/2421648.2421659","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2012,12,18]]},"assertion":[{"value":"2012-12-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}