On Tue, Aug 6, 2024 at 9:11 PM Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote: > > Mateusz Guzik <mjguzik@xxxxxxxxx> writes: > > > > I would bench with that myself, but I temporarily don't have handy > > access to bigger hw. Even so, the below is completely optional and > > perhaps more of a suggestion for the future :) > > > > I hacked up the test case based on tests/open1.c. > > Don't you need two test cases? One where the file exists and one > where it doesn't. Because the "doesn't exist" will likely be slower > than before because it will do the lookups twice, > and it will likely even slow single threaded. > > I assume the penalty will also depend on the number of entries > in the path. > > That all seem to be an important considerations in judging the benefits > of the patch. > This is why I suggested separately running "unlink1" which is guaranteed to create a file every time -- all iterations will fail the proposed fast path. Unless you meant a mixed variant where only some of the threads create files. Perhaps worthwhile to add, not hard to do (one can switch the mode based on passed worker number). -- Mateusz Guzik <mjguzik gmail.com>