Re: [PATCH v3] 9p: fix EBADF errors in cached mode

From: Christian Schoenebeck
Date: Tue Jun 21 2022 - 08:14:05 EST


On Montag, 20. Juni 2022 22:34:38 CEST Dominique Martinet wrote:
> Christian Schoenebeck wrote on Mon, Jun 20, 2022 at 02:47:24PM +0200:
> > Some more tests this weekend; all looks fine. It appears that this also
> > fixed the performance degradation that I reported early in this thread.
>
> wow, I wouldn't have expected the EBADF fix patch to have any impact on
> performance. Maybe the build just behaved differently enough to take
> more time with the errors?

Maybe. It could also be less overhead using writeback_fid vs. dedicated fid,
i.e. no walking and fid cloning required when just using the writeback_fid
which is already there (reduced latency).

Probably also overall reduced total amount of fids might have some (smaller)
impact, as on QEMU 9p server side we still have a simple linked list for fids
which is iterated on each fid lookup. A proc-like interface for statistics
(e.g. max. amount of fids) would be useful.

But honestly, all these things still don't really explain to me such a
difference from performance PoV in regards to this patch, as the particular
case handled by this patch does not appear to happen often.

Anyway, my plan is to identify performance bottlenecks in general more
analytically this year. Now that we have macOS support for 9p in QEMU, I'll
probably use Xcode's "Instruments" tool which really has a great way to
graphically investigate complex performance aspects in a very intuitive and
customizable way, which goes beyond standard profiling. Then I can hunt down
performance issues by weight.

Best regards,
Christian Schoenebeck