Re: [PATCH] x86/irq: do not substract irq_tlb_count from irq_call_count

From: Ingo Molnar
Date: Thu Aug 11 2016 - 05:13:57 EST



* Aaron Lu <aaron.lu@xxxxxxxxx> wrote:

> This is found by LKP's cyclic performance regression tracking recently
> with the vm-scalability test suite. I have bisected to commit
> 0a7ce4b5a632 ("mm/rmap: share the i_mmap_rwsem"). This commit didn't do
> anything wrong but revealed the irq_call_count problem. IIUC, the commit
> makes rwc->remap_one in rmap_walk_file concurrent with multiple threads.
> When remap_one is try_to_unmap_one, then multiple threads could queue
> flush tlb to the same CPU but only one IPI will be sent.

Note, for some reason the commit ID you used is wrong, the real one is:

3dec0ba0be6a ("mm/rmap: share the i_mmap_rwsem")

I have fixed this in the changelog.

Thanks,

Ingo