Re: [patch 6/6] mm/vmalloc: Dont purge usable blocks unnecessarily

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 24 2023 at 18:34, Baoquan He wrote:
> On 05/23/23 at 04:02pm, Thomas Gleixner wrote:

Can you please trim your replies? It's a pain to find them.

>>  static void *vb_alloc(unsigned long size, gfp_t gfp_mask)
>> @@ -4173,7 +4183,7 @@ struct vm_struct **pcpu_get_vm_areas(con
>>  overflow:
>>  	spin_unlock(&free_vmap_area_lock);
>>  	if (!purged) {
>> -		purge_vmap_area_lazy();
>> +		purge_vmap_area_lazy(true);
>>  		purged = true;
>>  
>>  		/* Before "retry", check if we recover. */
>
> Wondering why bothering to add 'force_purge' to purge_vmap_area_lazy(),
> purge_fragmented_blocks_allcpus() if they are all true. Can't we set
> 'force_purge' as true for purge_fragmented_block() in
> purge_fragmented_blocks()?
>
> alloc_vmap_area()
> pcpu_get_vm_areas()
> -->purge_vmap_area_lazy(true)
>    -->purge_fragmented_blocks_allcpus(force_purge=true)
>       -->purge_fragmented_block(force_purge=true)

Yes. purge_fragmented_blocks_allcpus() has only the
purge_vmap_area_lazy() caller left.

> And one place of change is missing, it will fail building.

Already reported by Uladzislau and I sent a fix in reply.





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux