Re: [PATCH v5 03/12] x86/mm: consolidate full flush threshold decision

Rik van Riel
2025-01-17T19:33:27Z

On Fri, 2025-01-17 at 19:23 +0000, Michael Kelley wrote:
> From: riel@surriel.com <riel@surriel.com> 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.