Re: [PATCH v2 1/2] Revert "locking/rwsem: Remove reader optimistic spinning"

From: Waiman Long
Date: Mon Sep 04 2023 - 15:58:00 EST


On 9/4/23 11:10, Peter Zijlstra wrote:
On Fri, Sep 01, 2023 at 10:07:03AM +0900, Bongkyu Kim wrote:
This reverts commit 617f3ef95177840c77f59c2aec1029d27d5547d6.

In mobile environment, reader optimistic spinning is still useful
because there're not many readers. In my test result at android device,
it improves application startup time about 3.8%
App startup time is most important factor for android user expriences.
So, re-enable reader optimistic spinning by this commit. And,
the later patch will make it optional feature by cmdline.
I'm not seeing any mention on how this interacts with all the rwsem work
that has been done since that commit, like the handoff rework.

Why is a straight revert a sane thing at this point?

I also agree that a revert is not the best way to reintroduce the feature. It should document the reason why reader optimistic spinning is not the default as discussed in commit 617f3ef9517 ("locking/rwsem: Remove reader optimistic spinning") and under what condition should reader optimistic spinning can be turned back on.

Besides, I now think we may not really need 2 separate nonspinnable bits. We can go with one that is set by writer timing out when spinning on reader.

Cheers,
Longman