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

From: zhouxianrong
Date: Mon Oct 17 2016 - 22:58:59 EST


hey Hellwig:
cond_resched_lock is a good choice. i mixed the cond_resched_lock and batch to balance of
realtime and performance and resubmit this patch.

On 2016/10/16 0:55, Christoph Hellwig wrote:
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
entirely.

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

.