Re: [PATCH 1/2] KVM: selftests: Make rseq compatible with glibc-2.35

From: Paolo Bonzini
Date: Wed Aug 10 2022 - 08:36:09 EST


On 8/10/22 14:29, Mathieu Desnoyers wrote:
- By design, selftests/rseq and selftests/kvm are parallel. It's going to
introduce
unnecessary dependency for selftests/kvm to use selftests/rseq/librseq.so. To
me,
it makes the maintainability even harder.
In terms of build system, yes, selftests/rseq and selftests/kvm are side-by-side,
and I agree it is odd to have a cross-dependency.

That's where moving rseq.c to tools/lib/ makes sense.

- What selftests/kvm needs is rseq-thread-pointer.h, which accounts for ~5% of
functionalities, provided by selftests/rseq/librseq.so.
I've never seen this type of argument used to prevent using a library before, except
on extremely memory-constrained devices, which is not our target here.

I agree.

To me, the main argument against moving librseq to tools/lib is a variant of the build-system argument, namely that recursive Make sucks[1] and selftests/kvm right now does not use tools/lib. So, for a single-file library, it may be simply not worth the hassle.

On the other hand, if "somebody else" does the work, I would have no problem with having selftests/kvm depend on tools/lib, not at all.

Thanks,

Paolo

[1] Kbuild is a marvel that makes it work, but it works because there are no such cross-subdirectory dependencies and anyway tools/testing/selftests does not use Kbuild.