Re: futex: private hash can stay on the shared atomic refcount indefinitely after auto-scaling

From: Sebastian Andrzej Siewior

Date: Thu Sep 03 2026 - 12:13:29 EST


On 2026-09-02 21:31:42 [+0000], Nikita Taranov wrote:
> The problem was originally observed on a synthetic benchmark that pretty much
> did what the first repro does. On that benchmark, it was really bad as you saw.
> I've never seen it on a real workload, so cannot comment on that.

Okay. In that case I need to figure if we want to care about a
regression on micro benchmark.

> stock v7.3-rc1 + your patch
> Xeon 6975P-C 96c/192t 8/8 at 96,128,192 0/8 everywhere
> Graviton4 Neoverse-V2 see below 0/8 everywhere
> AMD EPYC 9R45 0/8 (never stalls) 0/8

So this means my quick hacked fixed your problem?

> I'm guessing your patch was an early stage draft, but just in case let me flag
> one problem I saw: on the Intel box the futex selftests regress:
>
> stock v7.3-rc1 14 passed, 0 failed
> + your patch 12 passed, 2 failed
>
> futex_requeue requeue_multiple:
> expected 10 == futex_cmp_requeue(f1, 0, &f2, 3, 7, 0), got 0
> expected 7 == futex_wake(&f2, INT_MAX, 0), got 0
> futex_requeue_pi 2 of 24 fail: broadcast_owner, owner
> "Test terminated by timeout"

Yeah, I might have got something wrong. It was just an idea but might
look into this if we need this fixed. Thanks for the feedback.

> Regards.

Sebastian