Commit b1f1382a authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'docs-6.3-2' of git://git.lwn.net/linux

Pull Documentation stragglers from Jonathan Corbet:
 "A handful of documentation patches that were ready before the merge
  window, but which I didn't get merged for the first round:

   - A recommendation from Thorsten (also akpm) on use of Link tags to
     point out problem reports

   - Some front-page formatting tweaks

   - Another Spanish translation

   - One typo(ish) fix"

* tag 'docs-6.3-2' of git://git.lwn.net/linux:
  docs: recommend using Link: whenever using Reported-by:
  Documentation: front page: use recommended heading adornments
  docs/sp_SP: Add process programming-language translation
  docs: locking: refer to the actual existing config names
parents e492250d 901578a4
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
.. _linux_doc: .. _linux_doc:
==============================
The Linux Kernel documentation The Linux Kernel documentation
============================== ==============================
...@@ -13,7 +14,7 @@ documentation are welcome; join the linux-doc list at vger.kernel.org if ...@@ -13,7 +14,7 @@ documentation are welcome; join the linux-doc list at vger.kernel.org if
you want to help out. you want to help out.
Working with the development community Working with the development community
-------------------------------------- ======================================
The essential guides for interacting with the kernel's development The essential guides for interacting with the kernel's development
community and getting your work upstream. community and getting your work upstream.
...@@ -29,7 +30,7 @@ community and getting your work upstream. ...@@ -29,7 +30,7 @@ community and getting your work upstream.
Internal API manuals Internal API manuals
-------------------- ====================
Manuals for use by developers working to interface with the rest of the Manuals for use by developers working to interface with the rest of the
kernel. kernel.
...@@ -43,7 +44,7 @@ kernel. ...@@ -43,7 +44,7 @@ kernel.
Locking in the kernel <locking/index> Locking in the kernel <locking/index>
Development tools and processes Development tools and processes
------------------------------- ===============================
Various other manuals with useful information for all kernel developers. Various other manuals with useful information for all kernel developers.
...@@ -62,7 +63,7 @@ Various other manuals with useful information for all kernel developers. ...@@ -62,7 +63,7 @@ Various other manuals with useful information for all kernel developers.
User-oriented documentation User-oriented documentation
--------------------------- ===========================
The following manuals are written for *users* of the kernel — those who are The following manuals are written for *users* of the kernel — those who are
trying to get it to work optimally on a given system and application trying to get it to work optimally on a given system and application
...@@ -81,7 +82,7 @@ See also: the `Linux man pages <https://www.kernel.org/doc/man-pages/>`_, ...@@ -81,7 +82,7 @@ See also: the `Linux man pages <https://www.kernel.org/doc/man-pages/>`_,
which are kept separately from the kernel's own documentation. which are kept separately from the kernel's own documentation.
Firmware-related documentation Firmware-related documentation
------------------------------ ==============================
The following holds information on the kernel's expectations regarding the The following holds information on the kernel's expectations regarding the
platform firmwares. platform firmwares.
...@@ -93,7 +94,7 @@ platform firmwares. ...@@ -93,7 +94,7 @@ platform firmwares.
Architecture-specific documentation Architecture-specific documentation
----------------------------------- ===================================
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
...@@ -102,7 +103,7 @@ Architecture-specific documentation ...@@ -102,7 +103,7 @@ Architecture-specific documentation
Other documentation Other documentation
------------------- ===================
There are several unsorted documents that don't seem to fit on other parts There are several unsorted documents that don't seem to fit on other parts
of the documentation body, or may require some adjustments and/or conversion of the documentation body, or may require some adjustments and/or conversion
...@@ -115,7 +116,7 @@ to ReStructured Text format, or are simply too old. ...@@ -115,7 +116,7 @@ to ReStructured Text format, or are simply too old.
Translations Translations
------------ ============
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
......
...@@ -5,7 +5,7 @@ Kernel Lock Torture Test Operation ...@@ -5,7 +5,7 @@ Kernel Lock Torture Test Operation
CONFIG_LOCK_TORTURE_TEST CONFIG_LOCK_TORTURE_TEST
======================== ========================
The CONFIG LOCK_TORTURE_TEST config option provides a kernel module The CONFIG_LOCK_TORTURE_TEST config option provides a kernel module
that runs torture tests on core kernel locking primitives. The kernel that runs torture tests on core kernel locking primitives. The kernel
module, 'locktorture', may be built after the fact on the running module, 'locktorture', may be built after the fact on the running
kernel to be tested, if desired. The tests periodically output status kernel to be tested, if desired. The tests periodically output status
...@@ -67,7 +67,7 @@ torture_type ...@@ -67,7 +67,7 @@ torture_type
- "rtmutex_lock": - "rtmutex_lock":
rtmutex_lock() and rtmutex_unlock() pairs. rtmutex_lock() and rtmutex_unlock() pairs.
Kernel must have CONFIG_RT_MUTEX=y. Kernel must have CONFIG_RT_MUTEXES=y.
- "rwsem_lock": - "rwsem_lock":
read/write down() and up() semaphore pairs. read/write down() and up() semaphore pairs.
......
...@@ -251,7 +251,8 @@ The tags in common use are: ...@@ -251,7 +251,8 @@ The tags in common use are:
- Reported-by: names a user who reported a problem which is fixed by this - Reported-by: names a user who reported a problem which is fixed by this
patch; this tag is used to give credit to the (often underappreciated) patch; this tag is used to give credit to the (often underappreciated)
people who test our code and let us know when things do not work people who test our code and let us know when things do not work
correctly. correctly. Note, this tag should be followed by a Link: tag pointing to the
report, unless the report is not available on the web.
- Cc: the named person received a copy of the patch and had the - Cc: the named person received a copy of the patch and had the
opportunity to comment on it. opportunity to comment on it.
......
...@@ -496,10 +496,11 @@ Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes: ...@@ -496,10 +496,11 @@ Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:
---------------------------------------------------------------------- ----------------------------------------------------------------------
The Reported-by tag gives credit to people who find bugs and report them and it The Reported-by tag gives credit to people who find bugs and report them and it
hopefully inspires them to help us again in the future. Please note that if hopefully inspires them to help us again in the future. The tag is intended for
the bug was reported in private, then ask for permission first before using the bugs; please do not use it to credit feature requests. The tag should be
Reported-by tag. The tag is intended for bugs; please do not use it to credit followed by a Link: tag pointing to the report, unless the report is not
feature requests. available on the web. Please note that if the bug was reported in private, then
ask for permission first before using the Reported-by tag.
A Tested-by: tag indicates that the patch has been successfully tested (in A Tested-by: tag indicates that the patch has been successfully tested (in
some environment) by the person named. This tag informs maintainers that some environment) by the person named. This tag informs maintainers that
......
...@@ -17,3 +17,4 @@ ...@@ -17,3 +17,4 @@
kernel-enforcement-statement kernel-enforcement-statement
email-clients email-clients
magic-number magic-number
programming-language
.. include:: ../disclaimer-sp.rst
:Original: :ref:`Documentation/process/programming-language.rst <programming_language>`
:Translator: Carlos Bilbao <carlos.bilbao@amd.com>
.. _sp_programming_language:
Lenguaje de programación
========================
El kernel está escrito en el lenguaje de programación C [sp-c-language]_.
Más concretamente, el kernel normalmente se compila con ``gcc`` [sp-gcc]_
bajo ``-std=gnu11`` [sp-gcc-c-dialect-options]_: el dialecto GNU de ISO C11.
``clang`` [sp-clang]_ también es compatible, consulte los documentos en
:ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
Este dialecto contiene muchas extensiones del lenguaje [sp-gnu-extensions]_,
y muchos de ellos se usan dentro del kernel de forma habitual.
Hay algo de soporte para compilar el núcleo con ``icc`` [sp-icc]_ para varias
de las arquitecturas, aunque en el momento de escribir este texto, eso no
está terminado y requiere parches de terceros.
Atributos
---------
Una de las comunes extensiones utilizadas en todo el kernel son los atributos
[sp-gcc-attribute-syntax]_. Los atributos permiten introducir semántica
definida por la implementación a las entidades del lenguaje (como variables,
funciones o tipos) sin tener que hacer cambios sintácticos significativos
al idioma (por ejemplo, agregar una nueva palabra clave) [sp-n2049]_.
En algunos casos, los atributos son opcionales (es decir, hay compiladores
que no los admiten pero de todos modos deben producir el código adecuado,
incluso si es más lento o no realiza tantas comprobaciones/diagnósticos en
tiempo de compilación).
El kernel define pseudo-palabras clave (por ejemplo, ``__pure``) en lugar
de usar directamente la sintaxis del atributo GNU (por ejemplo,
``__attribute__((__pure__))``) con el fin de detectar cuáles se pueden
utilizar y/o acortar el código.
Por favor consulte ``include/linux/compiler_attributes.h`` para obtener
más información.
.. [sp-c-language] http://www.open-std.org/jtc1/sc22/wg14/www/standards
.. [sp-gcc] https://gcc.gnu.org
.. [sp-clang] https://clang.llvm.org
.. [sp-icc] https://software.intel.com/en-us/c-compilers
.. [sp-gcc-c-dialect-options] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html
.. [sp-gnu-extensions] https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html
.. [sp-gcc-attribute-syntax] https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html
.. [sp-n2049] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2049.pdf
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment