--- c-user/conf.py | 2 + c-user/index.rst | 1 + c-user/refs.bib | 151 ++++++++++++++++++++++++++ c-user/symmetric_multiprocessing_services.rst | 2 +- c-user/zreferences.rst | 4 + 5 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 c-user/refs.bib create mode 100644 c-user/zreferences.rst
diff --git a/c-user/conf.py b/c-user/conf.py index 90a7af7..147fbf7 100644 --- a/c-user/conf.py +++ b/c-user/conf.py @@ -3,6 +3,8 @@ sys.path.append(os.path.abspath('../common/')) from conf import * +extensions = ['sphinxcontrib.bibtex'] + version = '4.11.99' release = '4.11.99' diff --git a/c-user/index.rst b/c-user/index.rst index 4aa267d..67812fb 100644 --- a/c-user/index.rst +++ b/c-user/index.rst @@ -76,6 +76,7 @@ to the Community Project hosted at http://www.rtems.org/. linker_sets example_application glossary + zreferences * :ref:`genindex` * :ref:`search` diff --git a/c-user/refs.bib b/c-user/refs.bib new file mode 100644 index 0000000..92ffc24 --- /dev/null +++ b/c-user/refs.bib @@ -0,0 +1,151 @@ +@inproceedings{AdaEurope2015MrsP, + author={Catellani, Sebastiano and Bonato, Luca and Huber, Sebastian and Mezzetti, Enrico}, + title={{Challenges in the Implementation of MrsP}}, + booktitle={Reliable Software Technologies - Ada-Europe 2015}, + pages={179-195}, + year={2015}, +} +@phdthesis{Brandenburg, + author={Brandenburg, Björn B.}, + title={Scheduling and Locking in Multiprocessor Real-Time Operating Systems}, + year={2011}, + url={http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf}, +} +@inproceedings{Futex, + author={Franke, Hubertus and Russel, Rusty and Kirkwood, Matthew}, + title={{Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux}}, + booktitle={Proceedings of the Ottawa Linux Symposium 2002}, + pages={479-495}, + year={2002}, + url={https://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf}, +} +@inproceedings{OMIP, + author={Brandenburg, Björn B.}, + title={{A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications}}, + booktitle={Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013)}, + pages={292-302}, + year={2013}, + url={http://www.mpi-sws.org/~bbb/papers/pdf/ecrts13b.pdf}, +} +@inproceedings{MrsP, + author={Burns, A. and Wellings, A. J.}, + title={{A Schedulability Compatible Multiprocessor Resource Sharing Protocol - MrsP}}, + booktitle={Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013)}, + year={2013}, + url={http://www-users.cs.york.ac.uk/~burns/MRSPpaper.pdf}, +} +@manual{DrepperMemory, + author={Drepper, Ulrich}, + title={What Every Programmer Should Know About Memory}, + year={2007}, + url={http://www.akkadia.org/drepper/cpumemory.pdf}, +} +@manual{DrepperTLS, + author={Drepper, Ulrich}, + title={ELF Handling For Thread-Local Storage}, + year={2013}, + url={http://www.akkadia.org/drepper/tls.pdf}, +} +@manual{TECSW15832D11, + organization={embedded brains GmbH}, + author={Huber, Sebastian}, + title={RTEMS Features/Changes Specification}, + note={ESA Contract No. 4000xxxxxx/15/NL/FE/as - D11}, + year={2015}, +} +@inproceedings{Hrtimers2006, + author={Gleixner, Thomas and Niehaus, Douglas}, + title={{Hrtimers and Beyond: Transforming the Linux Time Subsystems}}, + booktitle={Proceedings of the Linux Symposium}, + pages={333-346}, + year={2006}, + url={https://www.kernel.org/doc/ols/2006/ols2006v1-pages-333-346.pdf}, +} +@inproceedings{TimerWheel1987, + author={Varghese, G. and Lauck, T.}, + title={{Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility}}, + booktitle={Proceedings of the 11th ACM Symposium on Operating Systems Principles}, + year={1987}, + url={http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf}, +} +@techreport{BSDCallout1995, + author={Varghese, G. and Costello, A.}, + title={{Redesigning the BSD callout and timer facilities}}, + institution={Washington University in St. Louis}, + note={WUCS-95-23}, + year={1987}, + month={November}, + url={http://web.mit.edu/afs.new/sipb/user/daveg/ATHENA/Info/wucs-95-23.ps}, +} +@techreport{Seqlock2012, + author={Boehm, Hans-J.}, + title={{Can Seqlocks Get Along With Programming Language Memory Models?}}, + institution={HP Laboratories}, + note={HPL-2012-68}, + year={2012}, + month={June}, + url={http://www.hpl.hp.com/techreports/2012/HPL-2012-68.pdf} +} +@techreport{CilkN3409, + author={Halpern, Pablo}, + title={{Strict Fork-Join Parallelism}}, + institution={Intel, Corp.}, + note={N3409}, + year={2012}, + month={September}, + url={http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3409.pdf} +} +@techreport{CilkN3557, + author={Halpern, Pablo}, + title={{Considering a Fork-Join Parallelism Library}}, + institution={Intel, Corp.}, + note={N3557}, + year={2013}, + month={March}, + url={http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3557.pdf} +} +@techreport{CilkN3872, + author={Robinson, Arch}, + title={{A Primer on Scheduling Fork-Join Parallelism with Work Stealing}}, + institution={Intel, Corp.}, + note={N3872}, + year={2014}, + month={January}, + url={http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3872.pdf} +} +@article{Blumofe1999, + author = {Blumofe, Robert D. and Leiserson, Charles E.}, + title = {{Scheduling multithreaded computations by work stealing}}, + journal = {Journal of the ACM}, + year = 1999, + pages = {720-748}, + volume = 46 +} +@inproceedings{Leijen2009, +author = {Leijen, Daan and Schulte, Wolfram and Burckhardt, Sebastian}, +title = {{The Design of a Task Parallel Library}}, +booktitle = {Proceeding of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications (OOPSLA'09)}, +year = {2009}, +month = {September}, +publisher = {ACM SIGPLAN}, +url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2009/09/TheDesignOfATaskParallelLibraryoopsla2009.pdf}, +address = {Atlanta, FL}, +pages = {}, +journal = {}, +volume = {}, +chapter = {}, +isbn = {}, +} +@misc{Kamp2002Timecounters, +author = {Kamp, Poul-Henning}, +title = {{Timecounters: Efficient and precise timekeeping in SMP kernels.}}, +year = {2002}, +url={http://www.freebsd.dk/pubs/timecounter.pdf} +} +@inproceedings{Robertson2003ULE, +author = {Robertson, Jeff}, +title = {{ULE: A Modern Scheduler For FreeBSD}}, +booktitle={Proceedings of BSDCon ’03}, +year = {2003}, +url={https://www.usenix.org/legacy/event/bsdcon03/tech/full_papers/roberson/roberson.pdf} +} diff --git a/c-user/symmetric_multiprocessing_services.rst b/c-user/symmetric_multiprocessing_services.rst index 1fcc361..d3272f4 100644 --- a/c-user/symmetric_multiprocessing_services.rst +++ b/c-user/symmetric_multiprocessing_services.rst @@ -204,7 +204,7 @@ available - semaphores using the :ref:`Priority Inheritance` protocol (priority boosting), and -- semaphores using the :ref:`Multiprocessor Resource Sharing Protocol` (MrsP). +- semaphores using the Multiprocessor Resource Sharing Protocol :cite:`MrsP`. The clustered scheduling approach enables separation of functions with real-time requirements and functions that profit from fairness and high diff --git a/c-user/zreferences.rst b/c-user/zreferences.rst new file mode 100644 index 0000000..fbf0528 --- /dev/null +++ b/c-user/zreferences.rst @@ -0,0 +1,4 @@ +References +********** + +.. bibliography:: refs.bib -- 1.8.4.5 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel