| /linux/drivers/scsi/lpfc/ |
| H A D | lpfc_mbox.c | 145 mb->un.varDmp.type = DMP_NV_PARAMS; in lpfc_dump_static_vport() 146 mb->un.varDmp.entry_index = offset; in lpfc_dump_static_vport() 147 mb->un.varDmp.region_id = DMP_REGION_VPORT; in lpfc_dump_static_vport() 152 mb->un.varDmp.cv = 1; in lpfc_dump_static_vport() 153 mb->un.varDmp.word_cnt = DMP_RSP_SIZE/sizeof(uint32_t); in lpfc_dump_static_vport() 166 mb->un.varWords[3] = putPaddrLow(mp->phys); in lpfc_dump_static_vport() 167 mb->un.varWords[4] = putPaddrHigh(mp->phys); in lpfc_dump_static_vport() 168 mb->un.varDmp.sli4_length = sizeof(struct static_vport_info); in lpfc_dump_static_vport() 213 mb->un.varDmp.cv = 1; in lpfc_dump_mem() 214 mb->un.varDmp.type = DMP_NV_PARAMS; in lpfc_dump_mem() [all …]
|
| /linux/Documentation/translations/it_IT/kernel-hacking/ |
| H A D | locking.rst | 33 In un normale programma, potete incrementare un contatore nel seguente modo: 84 Questa sovrapposizione, ovvero quando un risultato dipende dal tempo che 92 interrompendo un processo nella sua sezione critica otterremo comunque 97 simultanei, ed utilizzare i *lock* per accertarsi che solo un'istanza 105 Se dovessi darvi un suggerimento sulla sincronizzazione: **mantenetela 114 spinlock (``include/asm/spinlock.h``), un semplice *lock* che può essere 115 trattenuto solo da un processo: se non si può trattenere lo spinlock, allora 120 ma potreste bloccarvi trattenendolo. Se non potete trattenere un mutex 124 permettervi di sospendere un processo (vedere 135 gli spinlock non esistono. Questa è un'ottima scelta di progettazione: [all …]
|
| H A D | hacking.rst | 23 è di fornire ai programmatori C più esperti un manuale di base per sviluppo. 30 crescere e diventare un compendio di buone pratiche, punti di partenza 36 In qualsiasi momento ognuna delle CPU di un sistema può essere: 38 - non associata ad alcun processo, servendo un'interruzione hardware; 40 - non associata ad alcun processo, servendo un softirq o tasklet; 42 - in esecuzione nello spazio kernel, associata ad un processo 45 - in esecuzione di un processo nello spazio utente; 47 Esiste un ordine fra questi casi. Gli ultimi due possono avvicendarsi (preempt) 48 l'un l'altro, ma a parte questo esiste una gerarchia rigida: ognuno di questi 49 può avvicendarsi solo ad uno di quelli sottostanti. Per esempio, mentre un [all …]
|
| /linux/Documentation/translations/it_IT/locking/ |
| H A D | lockdep-design.rst | 13 Una classe di blocchi è un gruppo di blocchi che seguono le stesse regole di 15 decine di migliaia). Per esempio un blocco nella struttura inode è una classe, 16 mentre ogni inode sarà un'istanza di questa classe di blocco. 19 dipendenze con altre classi. L'uso di un blocco indica come quel blocco viene 20 usato rispetto al suo contesto d'interruzione, mentre le dipendenze di un blocco 22 che un processo cerca di acquisire L2 mentre già trattiene L1. Dal punto di 26 dipendenze, altrimenti ritornerà un errore. 34 succede quando si rimuove un modulo, o quando una *workqueue* viene eliminata. 61 graffe, per un totale di `2 * n` (`n`: bit STATO). Un esempio inventato:: 69 Per un dato blocco, da sinistra verso destra, la posizione del bit indica l'uso [all …]
|
| H A D | locktypes.rst | 14 Il kernel fornisce un certo numero di primitive di blocco che possiamo dividere 30 I blocchi ad attesa con sospensione possono essere acquisiti solo in un contesti 91 molto stringente riguardo al proprietario di un blocco: 95 I semafori rw_semaphores hanno un'interfaccia speciale che permette anche ai non 101 I blocchi a mutua esclusione RT (*rtmutex*) sono un sistema a mutua esclusione 117 La primitiva semaphore implementa un semaforo con contatore. 127 un concetto di proprietario, dunque impediscono a PREEMPT_RT d'avere 136 Il blocco rw_semaphore è un meccanismo che permette più lettori ma un solo scrittore. 143 rilasciare un processo lettore. Queste interfacce funzionano indipendentemente 149 I kernel PREEMPT_RT sostituiscono i rw_semaphore con un'implementazione basata [all …]
|
| H A D | lockstat.rst | 18 Perché, tanto per fare un esempio, le contese sui blocchi possono influenzare 58 - numero di contese su un blocco che riguarda dati di un processore 66 un blocco 69 - tempo massimo che sia mai stato speso in attesa di un blocco 72 - tempo totale speso in attesa di un blocco 75 - tempo medio speso in attesa di un blocco 78 - numero di acquisizioni di blocco che riguardavano i dati su un processore 81 - numero di volte che un blocco è stato ottenuto 85 - tempo minimo (diverso da zero) che sia mai stato speso trattenendo un blocco 88 - tempo massimo che sia mai stato speso trattenendo un blocco [all …]
|
| /linux/Documentation/translations/it_IT/process/ |
| H A D | adding-syscalls.rst | 13 un'aggiunta ai soliti consigli su come proporre nuove modifiche 26 - Se le operazioni coinvolte possono rassomigliare a quelle di un filesystem, 27 allora potrebbe avere molto più senso la creazione di un nuovo filesystem o 29 funzionalità in un modulo kernel piuttosto che essere sviluppata nel cuore 33 lo spazio utente su un avvenimento, allora restituire un descrittore 38 come chiamate :manpage:`ioctl(2)`, il che potrebbe portare ad un'API in 39 un qualche modo opaca. 41 - Se dovete esporre solo delle informazioni sul sistema, un nuovo nodo in 47 considerata un'interfaccia di 'produzione' verso lo spazio utente. 48 - Se l'operazione è specifica ad un particolare file o descrittore, allora [all …]
|
| H A D | stable-api-nonsense.rst | 16 un'interfaccia binaria, e non ha nemmeno un'interfaccia stabile**. 26 stati compilati su un kernel 0.9 (circa) e tuttora funzionano sulle versioni 33 Pensate di volere un'interfaccia del kernel stabile, ma in realtà non la 34 volete, e nemmeno sapete di non volerla. Quello che volete è un driver 37 nei sorgenti del kernel, ognuno dei quali hanno reso Linux un sistema operativo 44 Solo le persone un po' strambe vorrebbero scrivere driver per il kernel con 52 fate riferimento ad un avvocato per qualsiasi questione legale, io sono un 64 Supponiamo d'avere un'interfaccia stabile nei sorgenti del kernel, di 65 conseguenza un'interfaccia binaria dovrebbe essere anche'essa stabile, giusto? 70 strutture dati del kernel avranno un allineamento diverso, e possibilmente [all …]
|
| H A D | deprecated.rst | 14 In un mondo perfetto, sarebbe possibile prendere tutti gli usi di 15 un'interfaccia deprecata e convertirli in quella nuova, e così sarebbe 16 possibile rimuovere la vecchia interfaccia in un singolo ciclo di sviluppo. 27 Nonostante questo attributo marchi visibilmente un interfaccia come deprecata, 32 di `__deprecated` in un file d'intestazione sia opportuno per segnare una 42 per asserire "situazioni impossibili" e interrompere in sicurezza un 47 impossibile un'attività di debug o anche solo leggere un rapporto 48 circa l'errore. Linus ha un'opinione molto critica al riguardo: 61 date un'occhiata al questo `commit 64 Calcoli codificati negli argomenti di un allocatore [all …]
|
| H A D | 7.AdvancedTopics.rst | 11 A questo punto, si spera, dovreste avere un'idea su come funziona il processo 19 L'uso di un sistema distribuito per il controllo delle versioni del kernel 32 di git ai suoi lettori; ci sarebbe materiale a sufficienza per un lungo 51 terminologia; un nuovo utente dovrebbe conoscere *refs*, *remote branch*, 53 Il tutto potrebbe essere un po' intimidatorio visto da fuori, ma con un po' 57 un buon esercizio da fare mentre si sta prendendo confidenza con lo strumento. 60 vi servirà, ovviamente, un server dal quale sia possibile attingere le vostre 61 modifiche. Se avete un server accessibile da Internet, configurarlo per 64 per esempio). Gli sviluppatori permanenti possono ottenere un account 78 oppure che ha un qualche tipo di baco evidente) può essere corretta sul posto [all …]
|
| H A D | botching-up-ioctls.rst | 14 imparato negli ultimi anni è l'inutilità di cercare di creare un'interfaccia 17 inviare dei programmi alla GPU. Il che è va bene dato che non c'è più un insano 33 partenza e ritrovarvi ad aggiungere un livello di compatibilità a 32-bit. 51 * I puntatori sono di tipo ``__u64``, con un *cast* da/a ``uintptr_t`` da lato 62 Con la gioia d'aver evitato un livello di compatibilità, possiamo ora dare uno 67 * Abbiate un modo chiaro per capire dallo spazio utente se una nuova ioctl, o 69 potete fidarvi del fatto che un vecchio kernel possa rifiutare correttamente 70 un nuovo *flag*, modalità, o ioctl, (probabilmente perché avevate raffazzonato 71 qualcosa nel passato) allora dovrete implementare nel driver un meccanismo per 72 notificare quali funzionalità sono supportate, o in alternativa un numero di [all …]
|
| H A D | 3.Early-stage.rst | 11 Osservando un progetto di sviluppo per il kernel Linux, si potrebbe essere 21 Come qualsiasi progetto ingegneristico, un miglioramento del kernel di 23 In alcuni casi, questo passaggio è facile: ad esempio quando un driver è 24 richiesto per un particolare dispositivo. In altri casi invece, si 28 Facciamo un esempio: qualche anno fa, gli sviluppatori che lavoravano con 29 linux audio cercarono un modo per far girare le applicazioni senza dropouts 31 alla quale giunsero fu un modulo del kernel destinato ad agganciarsi al 39 invece, era un uso improprio del framework LSM (che non è progettato per 41 e un rischio per la stabilità del sistema. Le loro soluzioni di punta nel 42 breve periodo, comportavano un accesso alla schedulazione realtime attraverso [all …]
|
| H A D | stable-kernel-rules.rst | 20 - Deve correggere un vero baco che causi problemi agli utenti oppure aggiunge 21 un nuovo identificatore di dispositivo. Maggiori dettagli per il primo caso: 23 - Corregge un problema come un oops, un blocco, una corruzione di dati, un 24 vero problema di sicurezza, una stranezza hardware, un problema di 30 correzione ha un'alta probabilità d'introdurre una regressione, 32 includendo un link, se esiste, ad un rapporto su bugzilla, e informazioni 34 - Non si accettano cose del tipo "Questo potrebbe essere un problema ..." 50 1. Aggiungi un'etichetta 'stable' alla descrizione della patch al momento della 62 L':ref:`it_option_3` è un'alternativa ai due metodi precedenti quando la patch 142 Esiste un'ulteriore variante per l'etichetta "stable" che permette di comunicare [all …]
|
| H A D | 1.Intro.rst | 33 pianificazione di un progetto di sviluppo, con particolare enfasi sul 39 modifiche, ed esiste un'introduzione ad alcuni strumenti che possono aiutarvi 57 La sezione :ref:`it_development_advancedtopics` introduce un paio di argomenti 76 Con la crescita di Linux è arrivato anche un aumento di sviluppatori 80 sistemi integrati, che usano Linux come componente di un prodotto integrato, 83 prodotti su Linux hanno un chiaro interesse verso capacità, prestazioni ed 99 kernel utilizza un proprio modo di operare che gli permette di funzionare 100 agevolmente (e genera un prodotto di alta qualità) in un ambiente dove migliaia 108 del kernel (o, peggio, che cerchi di aggirarli o violarli) avrà un'esperienza 128 Questo lavoro è stato supportato dalla Linux Foundation; un ringraziamento [all …]
|
| H A D | 6.Followthrough.rst | 18 probabilmente, ancora un po' di lavoro da fare. 47 - La revisione del codice è un duro lavoro, ed è un mestiere poco 52 un tono arrabbiato, insultante o addirittura offensivo, resistente alla 61 stanno cercando di creare un disagio ad aziende concorrenti. 67 nel vostro driver per aggirare un problema deve diventare una caratteristica 81 il vostro codice, spiegateglielo. Se avete un'obiezione tecnica da fargli 86 Prendetevi quindi un po' di tempo per pensare ancora alla cosa. Può risultare 92 presente nella modifica del codice dovrebbe essere inserito in un commento 126 Se la modifica è ritenuta un elemento valido da essere aggiunta al kernel, 128 sistemati, il passo successivo solitamente è quello di entrare in un [all …]
|
| /linux/Documentation/translations/it_IT/core-api/ |
| H A D | symbol-namespaces.rst | 17 l'API esposta internamente al kernel. Permette ai manutentori di un 21 la disponibilità di un gruppo di simboli in altre parti del kernel. Ad 25 avvisare l'utente di un'importazione mancante. 40 nomi: EXPORT_SYMBOL_NS() ed EXPORT_SYMBOL_NS_GPL(). Queste macro richiedono un 43 essere un simbolo di preprocessore. Per esempio per esportare il 54 caricamento di un modulo. 59 Definire lo spazio dei nomi per tutti i simboli di un sottosistema può essere 60 logorante e di difficile manutenzione. Perciò è stato fornito un simbolo 66 uso dipende dalle preferenze del manutentore di un sottosistema. La prima 75 un simbolo esportato con EXPORT_SYMBOL_NS() non verrà cambiato e il simbolo [all …]
|
| /linux/Documentation/translations/sp_SP/process/ |
| H A D | adding-syscalls.rst | 25 - Si se puede hacer que la operación se parezca a un objeto filesystem, 26 podría tener más sentido crear un nuevo sistema de ficheros o 28 funcionalidad en un módulo del kernel en vez de requerir que sea 32 notifica al userspace que algo ha pasado, entonces retornar un nuevo 38 como solicitudes :manpage:`ioctl(2)`, las cuales pueden llevar a un 41 - Si sólo está exponiendo información del runtime, un nuevo nodo en sysfs 45 siempre el caso (e.g. en un ambiente namespaced/sandboxed/chrooted). 49 - Si la operación es específica a un archivo o descriptor de archivo 55 es muy simple (por ejemplo, definir/obtener un flag simple relacionado a 56 un descriptor de archivo). [all …]
|
| H A D | 2.Process.rst | 12 un asunto relajado, con un número relativamente pequeño de usuarios y 14 alrededor de 2,000 desarrolladores involucrados durante un año, el kernel 22 Los desarrolladores del kernel utilizan un proceso de lanzamiento basado 36 Cada lanzamiento 5.x es un lanzamiento principal del kernel con nuevas 40 desarrollo del kernel de Linux; el kernel utiliza un modelo de desarrollo 48 La mayor parte de los cambios para un nuevo ciclo de desarrollo (y todos 49 los cambios principales) se fusionarán durante este tiempo, a un ritmo 67 problemas deben enviarse al mainline. En ocasiones, se permitirá un cambio 111 variables en un proyecto de este tamaño. Llega un punto en el que 115 se lanzan con un punado de regresiones conocidas, aunque, con suerte, [all …]
|
| H A D | submitting-patches.rst | 11 Para una persona o empresa que desee enviar un cambio al kernel Linux, 17 Este documento contiene una gran cantidad de sugerencias en un formato 38 Si no tiene a mano un repositorio con el código fuente actual del kernel, 56 Describa su problema. Sea su parche una corrección de un error de una 57 línea o 5000 líneas para una nuevo "feature", debe haber un problema 59 hay un problema que merece la pena solucionar y de que tiene sentido que 64 evidentes. Incluso si se detectó un problema durante la revisión del 77 Las optimizaciones generalmente no son gratuitas, sino un equilibrio entre 88 El maintainer le agradecerá que escriba la descripción de su parche en un 90 del sistema, ``git``, como un "commit log" (registros de los commits). [all …]
|
| H A D | handling-regressions.rst | 14 desde el punto de vista de un usuario; si nunca ha leído ese texto, realice 24 * Cuando se reciba un correo que no incluyó a la lista, inclúyalo en la 25 conversación de los correos, mandando un breve "Reply-all" con la 36 respuesta (con la lista de regresiones en CC) que contenga un párrafo 42 * Cuando se mandan informes desde un gestor de incidentes a la lista de 43 regresiones(ver más arriba), incluir un párrafo como el siguiente:: 66 Qué hacer cuando se recibe un aviso de regresión. 74 * Cuando se recibe un informe por email que no tiene en CC la lista, 75 inmediatamente meterla en el la cadena de emails mandado al menos un 80 * Si un informe enviado a un gestor de defectos, llega a su correo, [all …]
|
| /linux/ipc/ |
| H A D | sem.c | 653 struct sem_undo *un; in perform_atomic_semop_slow() local 657 un = q->undo; in perform_atomic_semop_slow() 675 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop_slow() 679 un->semadj[sop->sem_num] = undo; in perform_atomic_semop_slow() 712 un->semadj[sop->sem_num] += sem_op; in perform_atomic_semop_slow() 725 struct sem_undo *un; in perform_atomic_semop() local 729 un = q->undo; in perform_atomic_semop() 758 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop() 771 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop() 773 un->semadj[sop->sem_num] = undo; in perform_atomic_semop() [all …]
|
| /linux/io_uring/ |
| H A D | fs.c | 106 struct io_unlink *un = io_kiocb_to_cmd(req, struct io_unlink); in io_unlinkat_prep() local 114 un->dfd = READ_ONCE(sqe->fd); in io_unlinkat_prep() 116 un->flags = READ_ONCE(sqe->unlink_flags); in io_unlinkat_prep() 117 if (un->flags & ~AT_REMOVEDIR) in io_unlinkat_prep() 121 un->filename = getname(fname); in io_unlinkat_prep() 122 if (IS_ERR(un->filename)) in io_unlinkat_prep() 123 return PTR_ERR(un->filename); in io_unlinkat_prep() 132 struct io_unlink *un = io_kiocb_to_cmd(req, struct io_unlink); in io_unlinkat() local 137 if (un->flags & AT_REMOVEDIR) in io_unlinkat() 138 ret = do_rmdir(un in io_unlinkat() [all...] |
| /linux/Documentation/translations/it_IT/doc-guide/ |
| H A D | parse-headers.rst | 13 d'avviso se un simbolo non viene trovato nella documentazione. Questo permette 17 Esso dev'essere invocato attraverso un Makefile, mentre si genera la 18 documentazione. Per avere un esempio su come utilizzarlo all'interno del kernel 54 Mostra un messaggio d'aiuto breve e termina. 59 Mostra un messaggio d'aiuto dettagliato e termina. 65 Converte un file d'intestazione o un file sorgente C (C_FILE) in un testo 68 il programma accetta anche un altro file (EXCEPTIONS_FILE) che 94 La dichiarazione \ **replace**\ significa che verrà generato un 163 In un enumerato come il seguente: 173 In un enumerato come il seguente: [all …]
|
| /linux/Documentation/translations/it_IT/RCU/ |
| H A D | torture.rst | 13 RCU. L'opzione creerà un modulo rcutorture che potrete caricare per avviare le 58 un brutto segno se questo numero rappresenta una frazione troppo alta di 67 * "rtbe": un valore diverso da zero indica che le funzioni della famiglia 78 risolvere un'inversione. 85 all'interno di un gestore di *timer*. Questo valore dovrebbe essere diverso da 88 * "Reader Pipe": un istogramma dell'età delle strutture viste dai lettori. RCU 89 non funziona correttamente se una qualunque voce, dalla terza in poi, ha un 92 diventerà uno quando sparisce dalla visibilità di un lettore, e incrementata 100 * "Reader Batch": un istogramma di età di strutture viste dai lettori, ma 103 a volte è più facile scatenare un terzo valore diverso da zero qui piuttosto [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | compat_alignment.c | 44 unsigned long un; member 58 offset.un = -offset.un; in do_alignment_finish_ldst() 61 addr += offset.un; in do_alignment_finish_ldst() 267 poffset->un = (tinst2 & 0xff) << 2; in do_alignment_t32_to_handler() 346 offset.un = (instr & 0xf00) >> 4 | (instr & 15); in do_compat_alignment_fixup() 348 offset.un = regs->regs[RM_BITS(instr)]; in do_compat_alignment_fixup() 359 offset.un = 0; in do_compat_alignment_fixup() 362 offset.un = 0; in do_compat_alignment_fixup()
|