| /linux/lib/ |
| H A D | test_maple_tree.c | 22 #define mas_dump(mas) do {} while (0) argument 23 #define mas_wr_dump(mas) do {} while (0) argument 352 MA_STATE(mas, mt, 0, 0); in check_rev_find() 359 mas_set(&mas, 1000); in check_rev_find() 360 val = mas_find_rev(&mas, 1000); in check_rev_find() 362 val = mas_find_rev(&mas, 1000); in check_rev_find() 365 mas_set(&mas, 999); in check_rev_find() 366 val = mas_find_rev(&mas, 997); in check_rev_find() 369 mas_set(&mas, 1000); in check_rev_find() 370 val = mas_find_rev(&mas, 900); in check_rev_find() [all …]
|
| H A D | alloc_tag.c | 384 MA_STATE(mas, &mod_area_mt, 0, module_tags.size); in clean_unused_module_areas_locked() 387 mas_for_each(&mas, val, module_tags.size) { in clean_unused_module_areas_locked() 395 start_tag = (struct alloc_tag *)(module_tags.start_addr + mas.index); in clean_unused_module_areas_locked() 396 end_tag = (struct alloc_tag *)(module_tags.start_addr + mas.last); in clean_unused_module_areas_locked() 398 mas_erase(&mas); in clean_unused_module_areas_locked() 403 static bool find_aligned_area(struct ma_state *mas, unsigned long section_size, in find_aligned_area() argument 410 if (!mas_empty_area(mas, 0, section_size - 1, prepend + size)) { in find_aligned_area() 411 if (IS_ALIGNED(mas->index + prepend, align)) in find_aligned_area() 415 mas_reset(mas); in find_aligned_area() 416 if (!mas_empty_area(mas, 0, section_size - 1, in find_aligned_area() [all …]
|
| /linux/include/linux/ |
| H A D | maple_tree.h | 306 #define mtree_lock_nested(mas, subclass) \ argument 491 struct ma_state *mas; member 506 #define mas_lock(mas) spin_lock(&((mas)->tree->ma_lock)) argument 507 #define mas_lock_nested(mas, subclass) \ argument 508 spin_lock_nested(&((mas)->tree->ma_lock), subclass) 509 #define mas_unlock(mas) spin_unlock(&((mas)->tree->ma_lock)) argument 541 .mas = ma_state, \ 555 void *mas_walk(struct ma_state *mas); 556 void *mas_store(struct ma_state *mas, void *entry); 557 void *mas_erase(struct ma_state *mas); [all …]
|
| /linux/include/trace/events/ |
| H A D | maple_tree.h | 15 TP_PROTO(const char *fn, struct ma_state *mas), 17 TP_ARGS(fn, mas), 30 __entry->min = mas->min; 31 __entry->max = mas->max; 32 __entry->index = mas->index; 33 __entry->last = mas->last; 34 __entry->node = mas->node; 48 TP_PROTO(const char *fn, struct ma_state *mas), 50 TP_ARGS(fn, mas), 63 __entry->min = mas->min; [all …]
|
| /linux/scripts/gdb/linux/ |
| H A D | mapletree.py | 198 def mtree_lookup_walk(mas): argument 200 n = mas.node 209 if pivots[offset] >= mas.index: 216 n = mt_slot(mas.tree, slots, offset) 218 mas.reset() 230 mas = Mas(mt, index, index) 234 entry = mas.start() 235 if mas.is_none(): 238 if mas.is_ptr(): 243 entry = mtree_lookup_walk(mas) [all …]
|
| /linux/tools/testing/radix-tree/ |
| H A D | maple.c | 415 static inline void mas_node_walk(struct ma_state *mas, struct maple_node *node, in mas_node_walk() argument 427 (*range_max) = (*range_min) = mas->index; in mas_node_walk() 431 mas->offset = mas->index = mas->min; in mas_node_walk() 441 prev = mas->min; in mas_node_walk() 442 index = mas->index; in mas_node_walk() 461 max = mas->max; in mas_node_walk() 465 mas->offset = offset; in mas_node_walk() 470 mas->max = max; in mas_node_walk() 471 mas->min = prev; in mas_node_walk() 487 static inline bool mas_descend_walk(struct ma_state *mas, in mas_descend_walk() argument [all …]
|
| /linux/tools/testing/vma/include/ |
| H A D | dup.h | 424 struct ma_state mas; 429 .mas = { \ 775 mas_pause(&vmi->mas); 1167 return mas_find(&vmi->mas, ULONG_MAX); in vma_is_shared_maywrite() 1264 return mas_find(&vmi->mas, max - 1); 1270 __mas_set_range(&vmi->mas, start, end - 1); 1271 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp() 1272 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp() 1364 mas_init(&vmi->mas, &mm->mm_mt, addr); in find_vma_intersection() 1386 return mas_prev(&vmi->mas, in vma_iter_set() 420 struct ma_state mas; global() member [all...] |
| /linux/Documentation/translations/pt_BR/process/ |
| H A D | botching-up-ioctls.rst | 16 insanidade na forma de interfaces falsamente genéricas, mas que na verdade só 40 limites (boundaries) de 64 bits, mas plataformas de 64 bits o fazem. Portanto, 76 entre o kernel e o espaço de usuário. Isso ajuda, mas não é uma solução 158 divergir se você olhar de perto o suficiente, mas se as ferramentas de 165 tempo. Não é a especificação de tempo mais conveniente, mas é praticamente o 179 não é um bug, já que os timeouts sempre podem ser estendidos -- mas os usuários 197 Um driver drm completo essencialmente implementa um pequeno SO, mas especializado 226 sozinho devido à falta de uma nova classe de objetos, mas considere usar 232 Por último, mas não menos importante 254 tentar depreciar ioctls horríveis em iterações mais novas do seu hardware, mas
|
| H A D | applying-patches.rst | 52 kernel na sua máquina local (mas frequentemente é uma informação útil para ver 108 imprima uma lista do que aconteceria, mas sem realizar nenhuma alteração de 130 mas os números das linhas forem diferentes. Isso pode acontecer, por exemplo, se 131 o patch fizer uma alteração no meio do arquivo, mas, por algum motivo, algumas 148 kernel, mas apenas patches do kernel.org, e você aplica os patches na ordem 164 for, isso é um erro da pessoa que criou o patch, mas não é fatal). 188 anteriormente e realmente pretendia revertê-lo, mas esqueceu de especificar -R, 247 Os patches mais recentes estão vinculados na página principal, mas eles também 258 Os patches -rc não são armazenados no servidor web, mas são gerados sob 280 (note que tais patches **NÃO** se aplicam sobre kernels 5.x.y, mas sim sobre o [all …]
|
| H A D | submit-checklist.rst | 48 do kernel. (Não é obrigatório para funções estáticas, mas também é 79 Observe que o ``checkstack`` não aponta problemas explicitamente, mas 110 ``make KCFLAGS=-W``). Isso gerará muito ruído, mas é bom para encontrar 121 ``CONFIG_NET``, ``CONFIG_INET=n`` (mas este último com ``CONFIG_NET=y``).
|
| H A D | management-style.rst | 14 qualquer coisa a ver com a realidade. Começou como uma brincadeira, mas isso não 26 .. [#f1] Este documento faz isso não respondendo tanto à pergunta, mas torna 38 tomá-la. Isso é muito profundo e óbvio, mas na verdade não é verdade. 110 gerente é não incutir confiança, mas sim uma dose saudável de pensamento crítico 119 Isso pode soar como uma falha, mas geralmente é um sinal de que havia algo errado 185 "Parece uma boa ideia - pode ir fundo", ou "Isso parece bom, mas e quanto a xxx?". 192 específicas, mas vamos encarar, elas podem ser boas no que fazem e péssimas em 212 no futuro, mas para que ele saiba que lhe deve uma. E, talvez ainda mais importante, 231 e intelectualmente superior a todos ao seu redor, mas não tente tornar isso muito
|
| H A D | 7.AdvancedTopics.rst | 46 Tudo isso pode ser um pouco intimidante no início, mas os conceitos não são tão 58 conta no kernel.org, mas estas não são fáceis de conseguir; consulte 105 fácil de acompanhar outra árvore, mas o rebasing não é uma opção uma vez que uma 107 ser feito. Fazer merges ocasionalmente faz todo o sentido, mas merges excessivamente 126 Você pode me enviar patches, mas para eu puxar um patch git de você, eu 143 de autoria; a ferramenta "am" do git faz o melhor que pode a esse respeito, mas 199 Por último, mas não menos importante, a revisão de patches pode se tornar um
|
| H A D | backporting.rst | 51 gerado, mas isso não importa tanto, desde que ele se aplique de forma limpa e 160 arquivo, mas pode ficar confuso se o arquivo for grande e frequentemente 206 única função), mas, neste caso, você especifica o nome do arquivo no final do 228 código que o patch para o qual você está fazendo o backport, mas não altera a 325 esperava encontrar lá, mas não encontrou. É *altamente recomendável* usar este 337 mesmas 3 seções do ``diff3``, mas onde as linhas comuns foram cortadas, tornando 380 geralmente significa que o git sequer colocará marcadores de conflito, mas 398 realizou a renomeação, mas esse definitivamente não é o caso mais comum. Em vez 450 indicativo para este cenário é que uma função foi renomeada -- mas nem sempre é o 497 irá mostrá-los lado a lado, mas destacados em uma cor diferente. Assim, é fácil [all …]
|
| H A D | cve.rst | 40 mas a possibilidade de exploração muitas vezes não é evidente quando o bug é 122 alteração, mas pela soma de muitas correções umas sobre as outras. Idealmente, 123 CVEs serão atribuídos a todas as correções de todos os problemas, mas às vezes
|
| H A D | 6.Followthrough.rst | 42 ingrata; as pessoas lembram quem escreveu o código do kernel, mas há pouca 53 anos, mas entendem que seu empregador pode mudar. Quase sem exceção, eles 95 mas há momentos em que alguém simplesmente precisa tomar uma decisão. Se você 136 árduo, mas console-se com uma vantagem: antes do surgimento da árvore *linux-next*, 205 patches que sofrem oposição do autor e mantenedor do código, mas isso tem limite. 218 trabalho deixado de lado dessa maneira pode ser doloroso e desanimador, mas a
|
| H A D | 5.Posting.rst | 31 olhar para patches que sabidamente estão "meio cozidos" (half-baked), mas aqueles 72 trabalho, mas, mais uma vez, tentar economizar tempo aqui geralmente não é 102 grandes (adicionar um driver totalmente novo, por exemplo), mas devem ser 127 patches, mas deixar essa infraestrutura sem uso até que o patch final da série 142 Então agora você tem uma série perfeita de patches para enviar, mas o trabalho 149 mas nunca é demais adicioná-la em caso de dúvida. 171 bons changelogs é uma arte crucial, mas frequentemente negligenciada; vale a 286 Nota: o bugzilla.kernel.org é um local público nesse sentido, mas os endereços
|
| H A D | email-clients.rst | 22 texto inline no corpo da mensagem. Alguns mantenedores aceitam anexos, mas, 52 pode funcionar, mas é melhor testar isso você mesmo ou simplesmente evitar 147 Você pode assinar anexos com GPG com segurança, mas texto em linha é preferido 251 mas isso deve estar todo corrigido agora. 275 O Thunderbird é um clone do Outlook que gosta de bagunçar o texto, mas há formas
|
| H A D | adding-syscalls.rst | 170 funcionalidades relacionadas, mas tente evitar combinar muitas funções que tenham 215 de ``sys_xyzzy()``, mas você deve adicionar esse ponto de entrada com a macro 229 específicas da arquitetura, mas várias outras arquiteturas compartilham uma tabela 371 parte de um kernel de 64 bits, mas espera receber valores de parâmetros de 32 512 Isso é específico de cada arquitetura (arch-specific), mas tipicamente envolve 539 referência a ``stub_xyzzy``, mas o build do UML não inclui a implementação de 550 A maior parte do kernel trata as chamadas de sistema de maneira genérica, mas 593 manual completa, idealmente usando a marcação groff, mas texto simples também
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_uvmm.c | 286 MA_STATE(mas, &uvmm->region_mt, addr, addr); in __nouveau_uvma_region_insert() 288 if (unlikely(mas_walk(&mas))) in __nouveau_uvma_region_insert() 291 if (unlikely(mas.last < last)) in __nouveau_uvma_region_insert() 294 mas.index = addr; in __nouveau_uvma_region_insert() 295 mas.last = last; in __nouveau_uvma_region_insert() 297 mas_store_gfp(&mas, reg, GFP_KERNEL); in __nouveau_uvma_region_insert() 326 MA_STATE(mas, &uvmm->region_mt, reg->va.addr, 0); in nouveau_uvma_region_remove() 328 mas_erase(&mas); in nouveau_uvma_region_remove() 366 MA_STATE(mas, &uvmm->region_mt, addr, 0); in nouveau_uvma_region_find_first() 368 return mas_find(&mas, addr + range - 1); in nouveau_uvma_region_find_first() [all …]
|
| H A D | nouveau_debugfs.c | 209 MA_STATE(mas, &uvmm->region_mt, 0, 0); in nouveau_debugfs_gpuva_regions() 214 mas_for_each(&mas, reg, ULONG_MAX) in nouveau_debugfs_gpuva_regions()
|
| /linux/Documentation/core-api/ |
| H A D | maple_tree.rst | 145 The advanced API is based around the ma_state, this is where the 'mas' 152 The maple state keeps track of the range start and end in mas->index and 153 mas->last, respectively. 155 mas_walk() will walk the tree to the location of mas->index and set the 156 mas->index and mas->last according to the range for the entry.
|
| /linux/tools/testing/vma/ |
| H A D | shared.h | 76 (fail_prealloc ? -ENOMEM : mas_preallocate(&(vmi)->mas, (vma), GFP_KERNEL))
|
| /linux/mm/ |
| H A D | debug.c | 360 mas_dump(&vmi->mas); in vma_iter_dump_tree() 361 mt_dump(vmi->mas.tree, mt_dump_hex); in vma_iter_dump_tree()
|
| /linux/Documentation/translations/pt_BR/ |
| H A D | index.rst | 54 As traduções buscam ser o mais precisas possível, mas não é possível mapear 58 encontrar algumas diferenças de forma, mas que transmitem a mensagem original.
|
| /linux/drivers/block/ |
| H A D | ublk_drv.c | 5363 MA_STATE(mas, &ub->buf_tree, 0, ULONG_MAX); in ublk_buf_erase_ranges() 5366 mas_lock(&mas); in ublk_buf_erase_ranges() 5367 mas_for_each(&mas, range, ULONG_MAX) { in ublk_buf_erase_ranges() 5369 mas_erase(&mas); in ublk_buf_erase_ranges() 5373 mas_unlock(&mas); in ublk_buf_erase_ranges() 5537 MA_STATE(mas, &ub->buf_tree, 0, ULONG_MAX); in __ublk_shmem_remove_ranges() 5544 mas_lock(&mas); in __ublk_shmem_remove_ranges() 5545 mas_for_each(&mas, range, ULONG_MAX) { in __ublk_shmem_remove_ranges() 5550 to_unpin[count].base_pfn = mas.index; in __ublk_shmem_remove_ranges() 5551 to_unpin[count].nr_pages = mas.last - mas.index + 1; in __ublk_shmem_remove_ranges() [all …]
|