Home
last modified time | relevance | path

Searched refs:mas (Results 1 – 25 of 40) sorted by relevance

12

/linux/lib/
H A Dmaple_tree.c186 static unsigned int mas_mt_height(struct ma_state *mas) in mas_mt_height() argument
188 return mt_height(mas->tree); in mas_mt_height()
228 static __always_inline void mas_set_err(struct ma_state *mas, long err) in mas_set_err() argument
230 mas->node = MA_ERROR(err); in mas_set_err()
231 mas->status = ma_error; in mas_set_err()
234 static __always_inline bool mas_is_ptr(const struct ma_state *mas) in mas_is_ptr() argument
236 return mas->status == ma_root; in mas_is_ptr()
239 static __always_inline bool mas_is_start(const struct ma_state *mas) in mas_is_start() argument
241 return mas->status == ma_start; in mas_is_start()
244 static __always_inline bool mas_is_none(const struct ma_state *mas) in mas_is_none() argument
[all …]
H A Dtest_maple_tree.c22 #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 …]
/linux/include/linux/
H A Dmaple_tree.h303 #define mtree_lock_nested(mas, subclass) \ argument
494 struct ma_state *mas; member
509 #define mas_lock(mas) spin_lock(&((mas)->tree->ma_lock)) argument
510 #define mas_lock_nested(mas, subclass) \ argument
511 spin_lock_nested(&((mas)->tree->ma_lock), subclass)
512 #define mas_unlock(mas) spin_unlock(&((mas)->tree->ma_lock)) argument
544 .mas = ma_state, \
558 void *mas_walk(struct ma_state *mas);
559 void *mas_store(struct ma_state *mas, void *entry);
560 void *mas_erase(struct ma_state *mas);
[all …]
H A Dmm.h1667 return mas_find(&vmi->mas, max - 1); in vma_find()
1676 return mas_find(&vmi->mas, ULONG_MAX); in vma_next()
1682 return mas_next_range(&vmi->mas, ULONG_MAX); in vma_iter_next_range()
1688 return mas_prev(&vmi->mas, 0); in vma_prev()
1694 __mas_set_range(&vmi->mas, start, end - 1); in vma_iter_clear_gfp()
1695 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp()
1696 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp()
1705 mas_destroy(&vmi->mas); in vma_iter_free()
1711 vmi->mas.index = vma->vm_start; in vma_iter_bulk_store()
1712 vmi->mas.last = vma->vm_end - 1; in vma_iter_bulk_store()
[all …]
/linux/include/trace/events/
H A Dmaple_tree.h15 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/mm/
H A Dvma.h171 struct ma_state *mas; /* the maple state point to the first vma */ member
189 unmap->mas = &vmi->mas; in unmap_all_init()
221 .mas = &(_vmi)->mas, \
371 if (vmi->mas.status != ma_start && in vma_iter_store_gfp()
372 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) in vma_iter_store_gfp()
375 __mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1); in vma_iter_store_gfp()
376 mas_store_gfp(&vmi->mas, vm in vma_iter_store_gfp()
[all...]
H A Dalloc_tag.c729 MA_STATE(mas, &mod_area_mt, 0, module_tags.size); in clean_unused_module_areas_locked()
732 mas_for_each(&mas, val, module_tags.size) { in clean_unused_module_areas_locked()
740 start_tag = (struct alloc_tag *)(module_tags.start_addr + mas.index); in clean_unused_module_areas_locked()
741 end_tag = (struct alloc_tag *)(module_tags.start_addr + mas.last); in clean_unused_module_areas_locked()
743 mas_erase(&mas); in clean_unused_module_areas_locked()
748 static bool find_aligned_area(struct ma_state *mas, unsigned long section_size, in find_aligned_area() argument
755 if (!mas_empty_area(mas, 0, section_size - 1, prepend + size)) { in find_aligned_area()
756 if (IS_ALIGNED(mas->index + prepend, align)) in find_aligned_area()
760 mas_reset(mas); in find_aligned_area()
761 if (!mas_empty_area(mas, 0, section_size - 1, in find_aligned_area()
[all …]
/linux/tools/testing/radix-tree/
H A Dmaple.c415 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/scripts/gdb/linux/
H A Dmapletree.py198 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/mm/damon/tests/
H A Dvaddr-kunit.h17 MA_STATE(mas, mt, 0, 0); in __link_vmas()
22 mas_lock(&mas); in __link_vmas()
24 mas_set_range(&mas, vmas[i].vm_start, vmas[i].vm_end - 1); in __link_vmas()
25 if (mas_store_gfp(&mas, &vmas[i], GFP_KERNEL)) in __link_vmas()
31 mas_unlock(&mas); in __link_vmas()
/linux/tools/testing/vma/include/
H A Ddup.h424 struct ma_state mas; member
429 .mas = { \
779 mas_pause(&vmi->mas); in vma_iter_invalidate()
1182 return mas_find(&vmi->mas, ULONG_MAX); in vma_next()
1279 return mas_find(&vmi->mas, max - 1); in vma_find()
1285 __mas_set_range(&vmi->mas, start, end - 1); in vma_iter_clear_gfp()
1286 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp()
1287 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp()
1401 mas_init(&vmi->mas, &mm->mm_mt, addr); in vma_iter_init()
1423 return mas_prev(&vmi->mas, 0); in vma_prev()
[all …]
/linux/Documentation/translations/pt_BR/process/
H A Dapplying-patches.rst52 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 Dbotching-up-ioctls.rst16 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 Dsubmit-checklist.rst48 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 Dmanagement-style.rst14 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 D7.AdvancedTopics.rst46 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 Dbackporting.rst51 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 D6.Followthrough.rst42 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 Dcve.rst40 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 D5.Posting.rst31 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
/linux/drivers/gpu/drm/nouveau/
H A Dnouveau_uvmm.c286 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 Dnouveau_debugfs.c209 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 Dmaple_tree.rst158 The advanced API is based around the ma_state, this is where the 'mas'
165 The maple state keeps track of the range start and end in mas->index and
166 mas->last, respectively.
168 mas_walk() will walk the tree to the location of mas->index and set the
169 mas->index and mas->last according to the range for the entry.
/linux/Documentation/translations/pt_BR/
H A Dindex.rst54 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/tools/testing/vma/
H A Dshared.h76 (fail_prealloc ? -ENOMEM : mas_preallocate(&(vmi)->mas, (vma), GFP_KERNEL))

12