Re: [PATCH v5 03/12] x86/mm: consolidate full flush threshold decision
From: Rik van Riel
Date: Fri Jan 17 2025 - 14:33:03 EST
On Fri, 2025-01-17 at 19:23 +0000, Michael Kelley wrote:
> From: riel@xxxxxxxxxxx <riel@xxxxxxxxxxx> Sent: Wednesday, January
> 15, 2025 6:30 PM
> >
> > - info = get_flush_tlb_info(NULL, start, end, 0,
> > false,
> > - TLB_GENERATION_INVALID);
> > + guard(preempt)();
> > +
> > + info = get_flush_tlb_info(NULL, start, end, PAGE_SHIFT,
> > false,
> > + TLB_GENERATION_INVALID);
> >
> > + if (end == TLB_FLUSH_ALL)
>
> This needs to test "info->end", not "end".
>
> In my VM on Hyper-V *without* INVLPGB support, the bug causes
> boot to hang as it tries to individually flush each page in the
> [0, TLB_FLUSH_ALL] range. :-)
Ohhhh, good catch.
I guess on bare metal the automatic tests that run
on every kernel build didn't notice the slower
boot, because it's not as severe of an impact as
in a virtual machine.
--
All Rights Reversed.