mirror of
https://git.rtems.org/rtems-docs/
synced 2025-07-22 18:25:34 +08:00
c-user: Add support for references via bibtex
https://sphinxcontrib-bibtex.readthedocs.io/en/latest/index.html Update #2871.
This commit is contained in:
parent
7d78d31a52
commit
97e1553c06
@ -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'
|
||||
|
||||
|
@ -77,6 +77,7 @@ to the Community Project hosted at http://www.rtems.org/.
|
||||
linker_sets
|
||||
example_application
|
||||
glossary
|
||||
zreferences
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`search`
|
||||
|
@ -185,10 +185,8 @@ clusters. Clusters with a cardinality of one are partitions. Each cluster is
|
||||
owned by exactly one scheduler instance.
|
||||
|
||||
Clustered scheduling helps to control the worst-case latencies in
|
||||
multi-processor systems, see *Brandenburg, Bjorn B.: Scheduling and Locking in
|
||||
Multiprocessor Real-Time Operating Systems. PhD thesis,
|
||||
2011.http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf*. The goal is to
|
||||
reduce the amount of shared state in the system and thus prevention of lock
|
||||
multi-processor systems, see :cite:`Brandenburg:2011:SL`. The goal is to reduce
|
||||
the amount of shared state in the system and thus prevention of lock
|
||||
contention. Modern multi-processor systems tend to have several layers of data
|
||||
and instruction caches. With clustered scheduling it is possible to honour the
|
||||
cache topology of a system and thus avoid expensive cache synchronization
|
||||
@ -204,7 +202,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:`Burns:2013:MrsP`.
|
||||
|
||||
The clustered scheduling approach enables separation of functions with
|
||||
real-time requirements and functions that profit from fairness and high
|
||||
@ -235,10 +233,7 @@ priority queue in the FIFO is selected. Then the first priority queue is
|
||||
removed from the FIFO. In case the previously first priority queue is not
|
||||
empty, then it is appended to the FIFO. So there is FIFO fairness with respect
|
||||
to the highest priority task of each scheduler instances. See also
|
||||
*Brandenburg, Bjorn B.: A fully preemptive multiprocessor semaphore protocol
|
||||
for latency-sensitive real-time applications. In Proceedings of the 25th
|
||||
Euromicro Conference on Real-Time Systems (ECRTS 2013), pages 292-302,
|
||||
2013.http://www.mpi-sws.org/~bbb/papers/pdf/ecrts13b.pdf*.
|
||||
:cite:`Brandenburg:2013:OMIP`.
|
||||
|
||||
Such a two level queue may need a considerable amount of memory if fast enqueue
|
||||
and dequeue operations are desired (depends on the scheduler instance count).
|
||||
|
6
c-user/zreferences.rst
Normal file
6
c-user/zreferences.rst
Normal file
@ -0,0 +1,6 @@
|
||||
.. only:: html
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. bibliography:: ../common/refs.bib
|
173
common/refs.bib
Normal file
173
common/refs.bib
Normal file
@ -0,0 +1,173 @@
|
||||
@inproceedings{Catellani:2015:MrsP,
|
||||
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:2011:SL,
|
||||
author = {Brandenburg, Björn B.},
|
||||
title = {Scheduling and Locking in Multiprocessor Real-Time Operating Systems},
|
||||
school = {The University of North Carolina at Chapel Hill},
|
||||
year = {2011},
|
||||
url = {http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf},
|
||||
}
|
||||
@inproceedings{Franke:2002: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{Brandenburg:2013: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{Burns:2013: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{Drepper:2007:Memory,
|
||||
author = {Drepper, Ulrich},
|
||||
title = {What Every Programmer Should Know About Memory},
|
||||
year = {2007},
|
||||
url = {http://www.akkadia.org/drepper/cpumemory.pdf},
|
||||
}
|
||||
@manual{Drepper:2013:TLS,
|
||||
author = {Drepper, Ulrich},
|
||||
title = {ELF Handling For Thread-Local Storage},
|
||||
year = {2013},
|
||||
url = {http://www.akkadia.org/drepper/tls.pdf},
|
||||
}
|
||||
@inproceedings{Gleixner:2006:Hrtimers,
|
||||
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{Varghese:1987:TimerWheel,
|
||||
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{Varghese:1995:BSDCallout,
|
||||
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{Boehm:2012:Seqlock,
|
||||
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{Halpern:2012: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{Halpern:2013: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{Robinson:2014: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{Blumofe:1999:WS,
|
||||
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{Leijen:2009:TPL,
|
||||
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},
|
||||
}
|
||||
@misc{Kamp:2002:Timecounters,
|
||||
author = {Kamp, Poul-Henning},
|
||||
title = {{Timecounters: Efficient and precise timekeeping in SMP kernels.}},
|
||||
year = {2002},
|
||||
url = {http://www.freebsd.dk/pubs/timecounter.pdf},
|
||||
}
|
||||
@inproceedings{Robertson:2003:ULE,
|
||||
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},
|
||||
}
|
||||
@book{Lookheed:2005:JSFAV,
|
||||
title = {{Joint Strike Fighter Air Vehicle C++ Coding Standards for the System Development and Demonstration Program}},
|
||||
year = {2005},
|
||||
month = {December},
|
||||
publisher = {Lockheed Martin Corporation},
|
||||
url = {http://www.stroustrup.com/JSF-AV-rules.pdf},
|
||||
}
|
||||
@book{Williams:2012:CA,
|
||||
author = {Williams, Anthony}},
|
||||
title = {{C++ Concurrency in Action – Practical Multithreading}},
|
||||
year = {2012},
|
||||
isbn = {978-1933988771},
|
||||
publisher = {Manning Publications Co},
|
||||
}
|
||||
@book{MISRA:2012:C,
|
||||
title = {{MISRA C:2012 Guidelines for the Use of the C Language in Critical Systems}},
|
||||
year = {2013},
|
||||
month = {March},
|
||||
isbn = {978-1906400101},
|
||||
publisher = {MISRA Limited},
|
||||
}
|
||||
@book{CERT:2016:CCS,
|
||||
title = {{SEI CERT C Coding Standard}},
|
||||
year = {2016},
|
||||
publisher = {Carnegie Mellon University},
|
||||
}
|
||||
@book{PRQA:2013:HIC,
|
||||
title = {{High Integrity C++ Coding Standard Version 4.0}},
|
||||
year = {2013},
|
||||
month = {October},
|
||||
publisher = {Programming Research Ltd},
|
||||
url = {http://www.codingstandard.com/},
|
||||
}
|
@ -3,6 +3,8 @@ sys.path.append(os.path.abspath('../common/'))
|
||||
|
||||
from conf import *
|
||||
|
||||
extensions = ['sphinxcontrib.bibtex']
|
||||
|
||||
version = '1.0'
|
||||
release = '4.11.99'
|
||||
|
||||
|
@ -57,6 +57,7 @@ to the Community Project hosted at http://www.rtems.org/.
|
||||
sparc
|
||||
sparc64
|
||||
command
|
||||
zreferences
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`search`
|
||||
|
@ -329,7 +329,7 @@ facilities mandated by the application binary interface (ABI) of the CPU
|
||||
architecture. The CPU port must initialize the TLS area in the
|
||||
``_CPU_Context_Initialize()`` function. There are support functions available
|
||||
via ``#include <rtems/score/tls.h>`` which implement Variants I and II
|
||||
according to Ulrich Drepper, *ELF Handling For Thread-Local Storage*.
|
||||
according to :cite:`Drepper:2013:TLS`.
|
||||
|
||||
``_TLS_TCB_at_area_begin_initialize()``
|
||||
Uses Variant I, TLS offsets emitted by linker takes the TCB into account.
|
||||
|
6
cpu-supplement/zreferences.rst
Normal file
6
cpu-supplement/zreferences.rst
Normal file
@ -0,0 +1,6 @@
|
||||
.. only:: html
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. bibliography:: ../common/refs.bib
|
Loading…
x
Reference in New Issue
Block a user