On Freitag, 4. Juni 2021 18:31:28 CEST Greg Kurz wrote: > On Fri, 4 Jun 2021 17:48:49 +0200 > > Christian Schoenebeck <qemu_...@crudebyte.com> wrote: > > This patch set reduces latency of Twalk handling by reducing the amount of > > thread hops, similar to previous Treaddir optimization. > > > > The performance gain of this patch set is not as spectacular as previously > > with Treaddir, but there is definitely a measurable difference. > > > > The actualy performance optimization is patch 7. With the benchmark of > > patch 2, the runtime of the Twalk test was cut in half. In real world > > tests > > I measured a performance gain (i.e. running an entire guest OS, and hence > > mixed with all other kinds of 9p requests) of about 2%, again measured in > > a > > mix, not concentrated on Twalk alone. > > > > v1 -> v2: > > * Added a separate [NEW PATCH 1] for fixing not_same_qid() semantic. > > Strangely, patch 1 appears between patch 3 and 4 in my email client.
My bad, I forgot to take care about the time stamps of the individual patches this time. > > * Code style: use sizeof(var-name) instead of sizeof(type-name) > > > > [PATCH 3]. > > > > * Split out dropping fid_to_qid() into separate [PATCH 4]. > > > > * Split out replacing not_same_qid() by same_stat_id() into separate > > > > [PATCH 5]. > > > > * Split out dropping root_qid into separate [PATCH 6]. > > I could have a look at all the patches except the last one. LGTM. > You can add my R-b for patches 1 and 3 to 6. > > Reviewed-by: Greg Kurz <gr...@kaod.org> Queued patches 1, 3..6 on 9p.next: https://github.com/cschoenebeck/qemu/commits/9p.next Thanks! > I'll try to find some time for patch 7 next week. > Twalk can be tricky, so no hurry! It takes what it takes. > > Christian Schoenebeck (7): > > 9pfs: fix not_same_qid() > > 9pfs: Twalk benchmark > > 9pfs: capture root stat > > 9pfs: drop fid_to_qid() > > 9pfs: replace not_same_qid() by same_stat_id() > > 9pfs: drop root_qid > > 9pfs: reduce latency of Twalk > > > > hw/9pfs/9p.c | 128 +++++++++++++++++++++++------------ > > hw/9pfs/9p.h | 2 +- > > tests/qtest/virtio-9p-test.c | 30 ++++++++ > > 3 files changed, 116 insertions(+), 44 deletions(-) Best regards, Christian Schoenebeck