# French translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Christophe Blaess , 1996-2003. # Stéphan Rafin , 2002. # Thierry Vignaud , 1999,2002. # François Micaux, 2002. # Alain Portal , 2003-2008. # Jean-Philippe Guérard , 2005-2006. # Jean-Luc Coulon (f5ibh) , 2006-2007. # Julien Cristau , 2006-2007. # Thomas Huriaux , 2006-2008. # Nicolas François , 2006-2008. # Florentin Duneau , 2006-2010. # Simon Paillard , 2006, 2012-2014. # Denis Barbier , 2006,2010. # David Prévot , 2010-2014. # Jean-Philippe MENGUAL , 2020-2024. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-03-01 17:01+0100\n" "PO-Revision-Date: 2024-01-31 18:50+0100\n" "Last-Translator: Jean-Philippe MENGUAL \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Lokalize 22.12.1\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "membarrier" msgstr "membarrier" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 octobre 2023" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOM" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "membarrier - issue memory barriers on a set of threads" msgstr "membarrier - Poser des barrières mémoire sur un ensemble de threads" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTHÈQUE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "Bibliothèque C standard (I, I<-lc>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SYNOPSIS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B<#include Elinux/membarrier.hE> /* Definition of B constants */\n" "B<#include Esys/syscall.hE> /* Definition of B constants */\n" "B<#include Eunistd.hE>\n" msgstr "" "B<#include Elinux/membarrier.hE> /* Définition des constantes B */\n" "B<#include Esys/syscall.hE> /* Définition des constantes B */\n" "B<#include Eunistd.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, unsigned int >IB<, int >IB<);>\n" msgstr "BIB<, unsigned int >IB<, int >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I: glibc provides no wrapper for B(), necessitating the " "use of B(2)." msgstr "" "I : la glibc ne fournit pas de fonction d'enveloppe pour " "B(), nécessitant l'utilisation de B(2)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "DESCRIPTION" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() system call helps reducing the overhead of the memory " "barrier instructions required to order memory accesses on multi-core " "systems. However, this system call is heavier than a memory barrier, so " "using it effectively is I as simple as replacing memory barriers with " "this system call, but requires understanding of the details below." msgstr "" "L'appel système B() aide à réduire le temps-système des " "instructions de barrières mémoire nécessaire pour organiser les accès à la " "mémoire sur des systèmes à plusieurs cœurs. Cependant, cet appel système est " "plus lourd qu'une barrière mémoire, donc l'utiliser efficacement «I< n'est " "pas >» aussi simple que de remplacer une barrière mémoire par cet appel " "système, mais nécessite de comprendre les détails ci-dessous." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Use of memory barriers needs to be done taking into account that a memory " "barrier always needs to be either matched with its memory barrier " "counterparts, or that the architecture's memory model doesn't require the " "matching barriers." msgstr "" "L'utilisation de barrières mémoire doit se faire en tenant compte du fait " "qu'elles doivent soit être associées avec leurs homologues, ou que le modèle " "de mémoire de l'architecture n'a pas besoin de barrières associées." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are cases where one side of the matching barriers (which we will refer " "to as \"fast side\") is executed much more often than the other (which we " "will refer to as \"slow side\"). This is a prime target for the use of " "B(). The key idea is to replace, for these matching barriers, " "the fast-side memory barriers by simple compiler barriers, for example:" msgstr "" "Dans certains cas, une face des barrières associées (qu'on appellera la " "« face rapide ») est sollicitée beaucoup plus souvent que l'autre (qu'on " "appellera la « face lente »). C'est le motif principal pour utiliser " "B(). L'idée clé est de remplacer, pour ces barrières associées, " "les barrières mémoire de la face rapide par de simples barrières du " "compilateur, par exemple :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "asm volatile (\"\" : : : \"memory\")\n" msgstr "asm volatile (\"\" : : : \"memory\")\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "and replace the slow-side memory barriers by calls to B()." msgstr "" "et de remplacer les barrières mémoire de la face lente par des appels à " "B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This will add overhead to the slow side, and remove overhead from the fast " "side, thus resulting in an overall performance increase as long as the slow " "side is infrequent enough that the overhead of the B() calls " "does not outweigh the performance gain on the fast side." msgstr "" "Cela ajoutera du temps-système à la face lente et en supprimera de la face " "rapide, d'où une augmentation globale de performances tant que la face lente " "est si peu utilisée que le temps-système d'appels B() ne " "l’emporte pas sur le gain de performance de la face rapide." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I argument is one of the following:" msgstr "Le paramètre I est l'un des suivants :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.3)" msgstr "B (depuis Linux 4.3)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Query the set of supported commands. The return value of the call is a bit " "mask of supported commands. B, which has the value 0, " "is not itself included in this bit mask. This command is always supported " "(on kernels where B() is provided)." msgstr "" "Rechercher l'ensemble des commandes prises en charge. Le code de retour de " "l'appel est un masque de bits des commandes prises en charge. " "B, dont la valeur est B<0>, n'est pas inclus dans ce " "masque de bits. Cette commande est toujours prise en charge (sur les noyaux " "où B() est fourni)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.16)" msgstr "B (depuis Linux 4.16)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Ensure that all threads from all processes on the system pass through a " "state where all memory accesses to user-space addresses match program order " "between entry to and return from the B() system call. All " "threads on the system are targeted by this command." msgstr "" "S'assurer que tous les threads de tous les processus du système passent par " "un état où tous les accès mémoire aux adresses de l'espace utilisateur " "correspondent à l'organisation du programme entre l'entrée et le retour de " "l'appel système B(). Tous les threads du système sont visés par " "cette commande." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.16)" msgstr "B (depuis Linux 4.16)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Execute a memory barrier on all running threads of all processes that " "previously registered with B." msgstr "" "Mettre une barrière mémoire sur tous les threads en cours de tous les " "processus qui se sont enregistrés précédemment avec " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Upon return from the system call, the calling thread has a guarantee that " "all running threads have passed through a state where all memory accesses to " "user-space addresses match program order between entry to and return from " "the system call (non-running threads are de facto in such a state). This " "guarantee is provided only for the threads of processes that previously " "registered with B." msgstr "" "Lors du retour de l'appel système, le thread appelant a la garantie que tous " "les threads en cours sont passés par un état où tous les accès mémoire aux " "adresses de l'espace utilisateur correspondent à l'organisation du programme " "entre l'entrée et le retour de l'appel système (les threads non en cours " "sont dans cet état de facto). Cette garantie n'est apportée qu'aux threads " "des processus qui se sont précédemment enregistrés avec " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Given that registration is about the intent to receive the barriers, it is " "valid to invoke B from a process that has " "not employed B." msgstr "" "Étant donné que l'enregistrement concerne l'intention de recevoir des " "barrières, il est possible d'appeler " "B à partir d’un processus qui n’a " "pas utilisé B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The \"expedited\" commands complete faster than the non-expedited ones; they " "never block, but have the downside of causing extra overhead." msgstr "" "Les commandes « accélérées » (expedited) se terminent plus vite que celles " "non accélérées ; elles ne se bloquent jamais, mais elles causent aussi un " "temps-système supplémentaire." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.16)" msgstr "B (depuis Linux 4.16)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Register the process's intent to receive B " "memory barriers." msgstr "" "Enregistrer l'intention du processus de recevoir des barrières mémoire " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.14)" msgstr "B (depuis Linux 4.14)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Execute a memory barrier on each running thread belonging to the same " "process as the calling thread." msgstr "" "Poser une barrière mémoire sur chaque thread en cours appartenant au même " "processus que le thread appelant." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Upon return from the system call, the calling thread has a guarantee that " "all its running thread siblings have passed through a state where all memory " "accesses to user-space addresses match program order between entry to and " "return from the system call (non-running threads are de facto in such a " "state). This guarantee is provided only for threads in the same process as " "the calling thread." msgstr "" "Au retour de l'appel système, le thread appelant a la garantie que tous ses " "homologues en cours passent par un état où tous les accès mémoire aux " "adresses de l'espace utilisateur correspondent à l'ordre du programme entre " "l'entrée et le retour de l'appel système (les threads non en cours sont dans " "cet état de facto). Cette garantie n'est apportée qu'aux threads du même " "processus que le thread appelant." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A process must register its intent to use the private expedited command " "prior to using it." msgstr "" "Un processus doit enregistrer son intention d'utiliser la commande accélérée " "privée avant de le faire." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.14)" msgstr "B (depuis Linux 4.14)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Register the process's intent to use B." msgstr "" "Enregistrer l'intention du processus d'utiliser " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.16)" msgstr "B (depuis Linux 4.16)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition to providing the memory ordering guarantees described in " "B, upon return from system call the " "calling thread has a guarantee that all its running thread siblings have " "executed a core serializing instruction. This guarantee is provided only " "for threads in the same process as the calling thread." msgstr "" "Outre les garanties d'organisation de la mémoire décrites dans " "B, lors du retour de l'appel système, le " "thread appelant a la garantie que tous ses homologues ont exécuté une " "instruction de sérialisation du cœur. Cette garantie n'est apportée que pour " "les threads du même processus que celui appelant." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The \"expedited\" commands complete faster than the non-expedited ones, they " "never block, but have the downside of causing extra overhead." msgstr "" "Les commandes « accélérées » se terminent plus vite que celles non " "accélérées, elles ne se bloquent jamais, mais demandent aussi un temps-" "système supplémentaire." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A process must register its intent to use the private expedited sync core " "command prior to using it." msgstr "" "Un processus doit enregistrer son intention d'utiliser la commande accélérée " "privée de synchronisation de cœur avant de le faire." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.16)" msgstr "B (depuis Linux 4.16)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Register the process's intent to use " "B." msgstr "" "Enregistrer l'intention du processus d'utiliser " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 5.10)" msgstr "B (depuis Linux 5.10)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Ensure the caller thread, upon return from system call, that all its running " "thread siblings have any currently running rseq critical sections restarted " "if I parameter is 0; if I parameter is " "B, then this operation is performed only on CPU " "indicated by I. This guarantee is provided only for threads in the " "same process as the calling thread." msgstr "" "Assurer au thread appelant, pendant le retour de l'appel système, que tous " "ses homologues en cours ont toutes les sections critiques rseq (restartable " "sequence) en cours redémarrées si le paramètre I vaut B<0> ; s'il " "vaut B, cette opération n'est effectuée que sur le " "processeur indiqué par I. Cette garantie n'est apportée qu'aux " "threads du même processus que le thread appelant." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "RSEQ membarrier is only available in the \"private expedited\" form." msgstr "" "RSEQ membarrier n'est disponible que sous la forme « private expedited »." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A process must register its intent to use the private expedited rseq command " "prior to using it." msgstr "" "Un processus doit enregistrer son intention d'utiliser la commande accélérée " "privée rseq avant de le faire." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 5.10)" msgstr "B (depuis Linux 5.10)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Register the process's intent to use " "B." msgstr "" "Enregistrer l'intention du processus d'utiliser " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.3)" msgstr "B (depuis Linux 4.3)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This is an alias for B that exists for header " "backward compatibility." msgstr "" "Il s'agit d'un alias pour B pour la " "rétrocompatibilité de l'entête." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument must be specified as 0 unless the command is " "B, in which case I can be " "either 0 or B." msgstr "" "Le paramètre I doit être indiqué en tant que B<0>, sauf si la " "commande est B, auquel cas I " "peut être soit B<0>, soit B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument is ignored unless I is " "B, in which case it must specify the CPU targeted " "by this membarrier command." msgstr "" "Le paramètre I est ignoré sauf si I est " "B, auquel cas il doit indiquer le processeur ciblé " "par cette commande membarrier." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "All memory accesses performed in program order from each targeted thread are " "guaranteed to be ordered with respect to B()." msgstr "" "Tous les accès mémoire effectués dans l'organisation du programme à partir " "de chaque thread visé sont garantis d'être organisés par rapport à " "B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If we use the semantic I to represent a compiler barrier forcing " "memory accesses to be performed in program order across the barrier, and " "I to represent explicit memory barriers forcing full memory " "ordering across the barrier, we have the following ordering table for each " "pairing of I, B(), and I. The pair " "ordering is detailed as (O: ordered, X: not ordered):" msgstr "" "Si nous utilisons la sémantique I pour représenter une barrière " "du compilateur qui force les accès mémoire à s'opérer dans l'ordre du " "programme le long des barrières, et I pour représenter les " "barrières explicites de la mémoire qui forcent toute la mémoire à " "s'organiser le long de la barrière, nous obtenons le tableau d'organisation " "suivant pour chaque paire de I, B() et I. " "L'organisation de la paire est détaillée ainsi (O : organisée, X : non " "organisée) :" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "barrier()" msgstr "barrier()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "smp_mb()" msgstr "smp_mb()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "membarrier()" msgstr "membarrier()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "X" msgstr "X" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "O" msgstr "B" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "VALEUR RENVOYÉE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, the B operation returns a bit mask of " "supported commands, and the B, " "B, " "B, " "B, " "B, " "B, and " "B operations return " "zero. On error, -1 is returned, and I is set to indicate the error." msgstr "" "En cas de succès, l'opération B renvoie un masque de " "bits des commandes prises en charge, et les opérations " "B, B, " "B, " "B, " "B, " "B et " "B renvoient B<0>. En " "cas d'erreur, B<-1> est renvoyé et I est défini pour indiquer " "l'erreur." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For a given command, with I set to 0, this system call is guaranteed " "to always return the same value until reboot. Further calls with the same " "arguments will lead to the same result. Therefore, with I set to 0, " "error handling is required only for the first call to B()." msgstr "" "Pour une commande donnée, quand I est positionné sur B<0>, cet appel " "système est garanti de renvoyer toujours la même valeur jusqu'au " "redémarrage. Les appels suivants ayant les mêmes paramètres conduiront au " "même résultat. Donc, quand I est positionné sur B<0>, une gestion des " "erreurs n'est nécessaire que pour le premier appel à B()." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ERREURS" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is invalid, or I is nonzero, or the B " "command is disabled because the I CPU parameter has been set, or " "the B and " "B commands are not " "implemented by the architecture." msgstr "" "I n'est pas valable ou I ne vaut pas zéro ou la commande " "B est désactivée car le paramètre I du " "processeur a été positionné ou les commandes " "B et " "B ne sont pas " "implémentées par l'architecture." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The B() system call is not implemented by this kernel." msgstr "L'appel système B() n'est pas implémenté par ce noyau." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The current process was not registered prior to using private expedited " "commands." msgstr "" "Le processus actuel n'était pas enregistré avant d'utiliser les commandes " "accélérées privées." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDS" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux." msgstr "Linux." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "HISTORIQUE" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux 4.3." msgstr "Linux 4.3." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Before Linux 5.10, the prototype was:" msgstr "Avant Linux 5.10, le prototype était :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "BIB<, int >IB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "NOTES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A memory barrier instruction is part of the instruction set of architectures " "with weakly ordered memory models. It orders memory accesses prior to the " "barrier and after the barrier with respect to matching barriers on other " "cores. For instance, a load fence can order loads prior to and following " "that fence with respect to stores ordered by store fences." msgstr "" "Une instruction de barrière mémoire fait partie du jeu d'instructions des " "architectures ayant des modèles de mémoire faiblement organisés. Elle " "organise les accès mémoire avant et après la barrière par rapport à celles " "correspondantes sur les autres cœurs. Par exemple, une barrière de charge " "peut organiser les charges avant et après elle par rapport aux stockages " "conservés dans les barrières de stockage." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Program order is the order in which instructions are ordered in the program " "assembly code." msgstr "" "L'organisation du programme est l'ordre dans lequel les instructions sont " "ordonnées dans le code d'assembleur du programme." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Examples where B() can be useful include implementations of " "Read-Copy-Update libraries and garbage collectors." msgstr "" "Parmi les exemples où B() peut être utile, figurent les " "implémentations des bibliothèques Read-Copy-Update et des ramasse-miettes " #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "EXEMPLES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Assuming a multithreaded application where \"fast_path()\" is executed very " "frequently, and where \"slow_path()\" is executed infrequently, the " "following code (x86) can be transformed using B():" msgstr "" "Supposons une application multithreadée où « fast_path() » est exécutée très " "souvent et où « slow_path() » l'est rarement, alors le code suivant (x86) " "peut être transformé en utilisant B() :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#include Estdlib.hE\n" "\\&\n" "static volatile int a, b;\n" "\\&\n" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" "\\&\n" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_a = a;\n" "}\n" "\\&\n" "int\n" "main(void)\n" "{\n" " int read_a, read_b;\n" "\\&\n" " /*\n" " * Real applications would call fast_path() and slow_path()\n" " * from different threads. Call those from main() to keep\n" " * this example short.\n" " */\n" "\\&\n" " slow_path(&read_a);\n" " fast_path(&read_b);\n" "\\&\n" " /*\n" " * read_b == 0 implies read_a == 1 and\n" " * read_a == 0 implies read_b == 1.\n" " */\n" "\\&\n" " if (read_b == 0 && read_a == 0)\n" " abort();\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "#include Estdlib.hE\n" "\\&\n" "static volatile int a, b;\n" "\\&\n" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" "\\&\n" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_a = a;\n" "}\n" "\\&\n" "int\n" "main(void)\n" "{\n" " int read_a, read_b;\n" "\\&\n" " /*\n" " * De vraies applications appelleraient fast_path() et slow_path()\n" " * à partir de différents threads. Appel à partir de main()\n" " * pour garder cet exemple court.\n" " */\n" "\\&\n" " slow_path(&read_a);\n" " fast_path(&read_b);\n" "\\&\n" " /*\n" " * read_b == 0 implique que read_a == 1 et\n" " * read_a == 0 implique que read_b == 1.\n" " */\n" "\\&\n" " if (read_b == 0 && read_a == 0)\n" " abort();\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The code above transformed to use B() becomes:" msgstr "Le code ci-dessus transformé pour utiliser B() donne :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" "#include Eunistd.hE\n" "#include Esys/syscall.hE\n" "#include Elinux/membarrier.hE\n" "\\&\n" "static volatile int a, b;\n" "\\&\n" "static int\n" "membarrier(int cmd, unsigned int flags, int cpu_id)\n" "{\n" " return syscall(__NR_membarrier, cmd, flags, cpu_id);\n" "}\n" "\\&\n" "static int\n" "init_membarrier(void)\n" "{\n" " int ret;\n" "\\&\n" " /* Check that membarrier() is supported. */\n" "\\&\n" " ret = membarrier(MEMBARRIER_CMD_QUERY, 0, 0);\n" " if (ret E 0) {\n" " perror(\"membarrier\");\n" " return -1;\n" " }\n" "\\&\n" " if (!(ret & MEMBARRIER_CMD_GLOBAL)) {\n" " fprintf(stderr,\n" " \"membarrier does not support MEMBARRIER_CMD_GLOBAL\\en\");\n" " return -1;\n" " }\n" "\\&\n" " return 0;\n" "}\n" "\\&\n" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" "\\&\n" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " membarrier(MEMBARRIER_CMD_GLOBAL, 0, 0);\n" " *read_a = a;\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int read_a, read_b;\n" "\\&\n" " if (init_membarrier())\n" " exit(EXIT_FAILURE);\n" "\\&\n" " /*\n" " * Real applications would call fast_path() and slow_path()\n" " * from different threads. Call those from main() to keep\n" " * this example short.\n" " */\n" "\\&\n" " slow_path(&read_a);\n" " fast_path(&read_b);\n" "\\&\n" " /*\n" " * read_b == 0 implies read_a == 1 and\n" " * read_a == 0 implies read_b == 1.\n" " */\n" "\\&\n" " if (read_b == 0 && read_a == 0)\n" " abort();\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "#define _GNU_SOURCE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" "#include Eunistd.hE\n" "#include Esys/syscall.hE\n" "#include Elinux/membarrier.hE\n" "\\&\n" "static volatile int a, b;\n" "\\&\n" "static int\n" "membarrier(int cmd, unsigned int flags, int cpu_id)\n" "{\n" " return syscall(__NR_membarrier, cmd, flags, cpu_id);\n" "}\n" "\\&\n" "static int\n" "init_membarrier(void)\n" "{\n" " int ret;\n" "\\&\n" " /* Vérifier que membarrier() est pris en charge. */\n" "\\&\n" " ret = membarrier(MEMBARRIER_CMD_QUERY, 0, 0);\n" " if (ret E 0) {\n" " perror(\"membarrier\");\n" " return -1;\n" " }\n" "\\&\n" " if (!(ret & MEMBARRIER_CMD_GLOBAL)) {\n" " fprintf(stderr,\n" " \"membarrier ne gère pas MEMBARRIER_CMD_GLOBAL\\en\");\n" " return -1;\n" " }\n" "\\&\n" " return 0;\n" "}\n" "\\&\n" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" "\\&\n" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " membarrier(MEMBARRIER_CMD_GLOBAL, 0, 0);\n" " *read_a = a;\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int read_a, read_b;\n" "\\&\n" " if (init_membarrier())\n" " exit(EXIT_FAILURE);\n" "\\&\n" " /*\n" " * De vraies applications appelleraient fast_path() et slow_path()\n" " * à partir de différents threads. Appel à partir de main()\n" " * pour garder cet exemple court.\n" " */\n" "\\&\n" " slow_path(&read_a);\n" " fast_path(&read_b);\n" "\\&\n" " /*\n" " * read_b == 0 implique que read_a == 1 et\n" " * read_a == 0 implique que read_b == 1.\n" " */\n" "\\&\n" " if (read_b == 0 && read_a == 0)\n" " abort();\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: TH #: debian-bookworm #, no-wrap msgid "2022-12-15" msgstr "15 décembre 2022" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Pages du manuel de Linux 6.03" #. type: SH #: debian-bookworm #, no-wrap msgid "VERSIONS" msgstr "VERSIONS" #. type: Plain text #: debian-bookworm msgid "The B() system call was added in Linux 4.3." msgstr "L'appel système B() a été ajouté dans Linux 4.3." #. type: Plain text #: debian-bookworm msgid "Before Linux 5.10, the prototype for B() was:" msgstr "Avant Linux 5.10, le prototype de B() était :" #. .SH SEE ALSO #. FIXME See if the following syscalls make it into Linux 4.15 or later #. .BR cpu_opv (2), #. .BR rseq (2) #. type: Plain text #: debian-bookworm msgid "B() is Linux-specific." msgstr "B() est spécifique à Linux." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "#include Estdlib.hE\n" msgstr "#include Estdlib.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "static volatile int a, b;\n" msgstr "static volatile int a, b;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" msgstr "" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_a = a;\n" "}\n" msgstr "" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " asm volatile (\"mfence\" : : : \"memory\");\n" " *read_a = a;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " int read_a, read_b;\n" msgstr "" "int\n" "main(void)\n" "{\n" " int read_a, read_b;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Real applications would call fast_path() and slow_path()\n" " * from different threads. Call those from main() to keep\n" " * this example short.\n" " */\n" msgstr "" " /*\n" " * De vraies applications appelleraient fast_path() et slow_path()\n" " * à partir de différents threads. Appel à partir de main()\n" " * pour garder cet exemple court.\n" " */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " slow_path(&read_a);\n" " fast_path(&read_b);\n" msgstr "" " slow_path(&read_a);\n" " fast_path(&read_b);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * read_b == 0 implies read_a == 1 and\n" " * read_a == 0 implies read_b == 1.\n" " */\n" msgstr "" " /*\n" " * read_b == 0 implique que read_a == 1 et\n" " * read_a == 0 implique que read_b == 1.\n" " */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (read_b == 0 && read_a == 0)\n" " abort();\n" msgstr "" " if (read_b == 0 && read_a == 0)\n" " abort();\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" "#include Eunistd.hE\n" "#include Esys/syscall.hE\n" "#include Elinux/membarrier.hE\n" msgstr "" "#define _GNU_SOURCE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" "#include Eunistd.hE\n" "#include Esys/syscall.hE\n" "#include Elinux/membarrier.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static int\n" "membarrier(int cmd, unsigned int flags, int cpu_id)\n" "{\n" " return syscall(__NR_membarrier, cmd, flags, cpu_id);\n" "}\n" msgstr "" "static int\n" "membarrier(int cmd, unsigned int flags, int cpu_id)\n" "{\n" " return syscall(__NR_membarrier, cmd, flags, cpu_id);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static int\n" "init_membarrier(void)\n" "{\n" " int ret;\n" msgstr "" "static int\n" "init_membarrier(void)\n" "{\n" " int ret;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Check that membarrier() is supported. */\n" msgstr " /* Vérifier que membarrier() est pris en charge. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " ret = membarrier(MEMBARRIER_CMD_QUERY, 0, 0);\n" " if (ret E 0) {\n" " perror(\"membarrier\");\n" " return -1;\n" " }\n" msgstr "" " ret = membarrier(MEMBARRIER_CMD_QUERY, 0, 0);\n" " if (ret E 0) {\n" " perror(\"membarrier\");\n" " return -1;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (!(ret & MEMBARRIER_CMD_GLOBAL)) {\n" " fprintf(stderr,\n" " \"membarrier does not support MEMBARRIER_CMD_GLOBAL\\en\");\n" " return -1;\n" " }\n" msgstr "" " if (!(ret & MEMBARRIER_CMD_GLOBAL)) {\n" " fprintf(stderr,\n" " \"membarrier ne gère pas MEMBARRIER_CMD_GLOBAL\\en\");\n" " return -1;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " return 0;\n" "}\n" msgstr "" " return 0;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" msgstr "" "static void\n" "fast_path(int *read_b)\n" "{\n" " a = 1;\n" " asm volatile (\"\" : : : \"memory\");\n" " *read_b = b;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " membarrier(MEMBARRIER_CMD_GLOBAL, 0, 0);\n" " *read_a = a;\n" "}\n" msgstr "" "static void\n" "slow_path(int *read_a)\n" "{\n" " b = 1;\n" " membarrier(MEMBARRIER_CMD_GLOBAL, 0, 0);\n" " *read_a = a;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int read_a, read_b;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int read_a, read_b;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (init_membarrier())\n" " exit(EXIT_FAILURE);\n" msgstr "" " if (init_membarrier())\n" " exit(EXIT_FAILURE);\n" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "2023-05-03" msgstr "3 mai 2023" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "Linux man-pages 6.05.01" msgstr "Pages du manuel de Linux 6.05.01" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 mars 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04"