Re: [PATCH vmalloc] reduce purge_lock range and hold time of

From: Christoph Hellwig
Date: Sat Oct 15 2016 - 12:55:41 EST

On Sat, Oct 15, 2016 at 10:12:48PM +0800, zhouxianrong@xxxxxxxxxx wrote:
> From: z00281421 <z00281421@xxxxxxxxxxxxxxxxxxxx>
> i think no need to place __free_vmap_area loop in purge_lock;
> _free_vmap_area could be non-atomic operations with flushing tlb
> but must be done after flush tlb. and the whole__free_vmap_area loops
> also could be non-atomic operations. if so we could improve realtime
> because the loop times sometimes is larg and spend a few time.

Right, see the previous patch in reply to Joel that drops purge_lock

Instead of your open coded batch counter you probably want to add
a cond_resched_lock after the call to __free_vmap_area.