accel/ivpu: Move recovery work to system_unbound_wq
[drm/drm-misc.git] / Documentation / translations / sp_SP / process / submit-checklist.rst
blob0d6651f9d87176e87d400a0750db157d942e7f3b
1 .. include:: ../disclaimer-sp.rst
3 :Original: Documentation/process/submit-checklist.rst
4 :Translator: Avadhut Naik <avadhut.naik@amd.com>
6 .. _sp_submitchecklist:
8 Lista de comprobación para enviar parches del kernel de Linux
9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 Aquí hay algunas cosas básicas que los desarrolladores deben hacer si
12 quieren que sus envíos de parches del kernel sean aceptados más
13 rápidamente.
15 Todo esto está más allá de la documentación que se proporciona en
16 :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst <sp_submittingpatches>`
17 y en otros lugares con respecto al envío de parches del kernel de Linux.
19 1) Si utiliza una funcionalidad, #include el archivo que define/declara
20    esa funcionalidad. No dependa de otros archivos de encabezado que
21    extraigan los que utiliza.
23 2) Compile limpiamente:
25   a) Con las opciones ``CONFIG`` aplicables o modificadas ``=y``, ``=m``,
26      y ``=n``. Sin advertencias/errores del compilador ``gcc``, ni
27      advertencias/errores del linker.
29   b) Aprobar ``allnoconfig``, ``allmodconfig``
31   c) Compila correctamente cuando se usa ``O=builddir``
33   d) Cualquier documentación o cambios se compilan correctamente sin
34      nuevas advertencias/errores. Utilice ``make htmldocs`` o
35      ``make pdfdocs`` para comprobar la compilación y corregir cualquier
36      problema.
38 3) Se compila en varias arquitecturas de CPU mediante herramientas de
39    compilación cruzada locales o alguna otra granja de compilación.
41 4) ppc64 es una buena arquitectura para verificar la compilación cruzada
42    por que tiende a usar ``unsigned long`` para cantidades de 64-bits.
44 5) Verifique su parche para el estilo general según se detalla en
45    :ref:`Documentation/translations/sp_SP/process/coding-style.rst <sp_codingstyle>`.
46    Verifique las infracciones triviales con el verificador de estilo de
47    parches antes de la entrega (``scripts/checkpatch.pl``).
48    Debería ser capaz de justificar todas las infracciones que permanezcan
49    en su parche.
51 6) Cualquier opción ``CONFIG`` nueva o modificada no altera el menú de
52    configuración y se desactiva por defecto, a menos que cumpla con los
53    criterios de excepción documentados en
54    ``Documentation/kbuild/kconfig-language.rst`` Atributos del menú: valor por defecto.
56 7) Todas las nuevas opciones de ``Kconfig`` tienen texto de ayuda.
58 8) Ha sido revisado cuidadosamente con respecto a las combinaciones
59    relevantes de ``Kconfig``. Esto es muy difícil de hacer correctamente
60    con las pruebas -- la concentración mental da resultados aquí.
62 9) Verifique limpiamente con sparse.
64 10) Use ``make checkstack`` y solucione cualquier problema que encuentre.
66     .. note::
68        ``checkstack`` no señala los problemas explícitamente, pero
69        cualquier función que use más de 512 bytes en la pila es
70        candidata para el cambio.
72 11) Incluya :ref:`kernel-doc <kernel_doc>` para documentar las API
73     globales del kernel. (No es necesario para funciones estáticas, pero
74     también está bien.) Utilice ``make htmldocs`` o ``make pdfdocs``
75     para comprobar el :ref:`kernel-doc <kernel_doc>` y solucionar
76     cualquier problema.
78 12) Ha sido probado con ``CONFIG_PREEMPT``, ``CONFIG_DEBUG_PREEMPT``,
79     ``CONFIG_DEBUG_SLAB``, ``CONFIG_DEBUG_PAGEALLOC``, ``CONFIG_DEBUG_MUTEXES``,
80     ``CONFIG_DEBUG_SPINLOCK``, ``CONFIG_DEBUG_ATOMIC_SLEEP``
81     ``CONFIG_PROVE_RCU`` y ``CONFIG_DEBUG_OBJECTS_RCU_HEAD`` todos
82     habilitados simultáneamente.
84 13) Ha sido probado en tiempo de compilación y ejecución con y sin
85     ``CONFIG_SMP`` y ``CONFIG_PREEMPT``.
87 14) Todas las rutas de código se han ejercido con todas las
88     características de lockdep habilitadas.
90 15) Todas las nuevas entradas de ``/proc`` están documentadas en
91     ``Documentation/``.
93 16) Todos los nuevos parámetros de arranque del kernel están documentados
94     en ``Documentation/admin-guide/kernel-parameters.rst``.
96 17) Todos los nuevos parámetros del módulo están documentados con
97     ``MODULE_PARM_DESC()``.
99 18) Todas las nuevas interfaces de espacio de usuario están documentadas
100     en ``Documentation/ABI/``. Consulte ``Documentation/ABI/README`` para
101     obtener más información. Los parches que cambian las interfaces del
102     espacio de usuario deben ser CCed a linux-api@vger.kernel.org.
104 19) Se ha comprobado con la inyección de al menos errores de asignación
105     de slab y página. Consulte ``Documentation/fault-injection/``.
107     Si el nuevo código es sustancial, la adición de la inyección de
108     errores específica del subsistema podría ser apropiada.
110 20) El nuevo código añadido ha sido compilado con ``gcc -W`` (use
111     ``make KCFLAGS=-W``). Esto generara mucho ruido per es buena para
112     encontrar errores como "warning: comparison between signed and unsigned".
114 21) Se prueba después de que se haya fusionado en el conjunto de
115     parches -mm para asegurarse de que siga funcionando con todos los
116     demás parches en cola y varios cambios en VM, VFS y otros subsistemas.
118 22) Todas las barreras de memoria {p.ej., ``barrier()``, ``rmb()``,
119     ``wmb()``} necesitan un comentario en el código fuente que explique
120     la lógica de lo que están haciendo y por qué.
122 23) Si se añaden algún ioctl en el parche, actualice también
123     ``Documentation/userspace-api/ioctl/ioctl-number.rst``.
125 24) Si su código fuente modificado depende o utiliza cualquiera de las
126     API o características del kernel que están relacionadas con los
127     siguientes símbolos ``Kconfig`` entonces pruebe varias compilaciones
128     con los símbolos ``Kconfig`` relacionados deshabilitados y/o ``=m``
129     (si esa opción esta disponible) [no todos estos al mismo tiempo, solo
130     varias/aleatorias combinaciones de ellos]:
132     ``CONFIG_SMP``, ``CONFIG_SYSFS``, ``CONFIG_PROC_FS``, ``CONFIG_INPUT``, ``CONFIG_PCI``, ``CONFIG_BLOCK``, ``CONFIG_PM``, ``CONFIG_MAGIC_SYSRQ``
133     ``CONFIG_NET``, ``CONFIG_INET=n`` (pero luego con ``CONFIG_NET=y``).