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. > * 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> I'll try to find some time for patch 7 next week. > 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(-) >