Re: [PATCH 2/2] KVM: selftests: Use getcpu() instead of sched_getcpu() in rseq_test

From: Gavin Shan
Date: Tue Aug 09 2022 - 20:46:20 EST


On 8/10/22 6:53 AM, Sean Christopherson wrote:
On Tue, Aug 09, 2022, Gavin Shan wrote:
On 8/9/22 5:17 PM, Florian Weimer wrote:
* Florian Weimer:

* Gavin Shan:

sched_getcpu() is glibc dependent and it can simply return the CPU
ID from the registered rseq information, as Florian Weimer pointed.
In this case, it's pointless to compare the return value from
sched_getcpu() and that fetched from the registered rseq information.

Fix the issue by replacing sched_getcpu() with getcpu(), as Florian
suggested. The comments are modified accordingly.

Note that getcpu was added in glibc 2.29, so perhaps you need to perform
a direct system call?

One more thing: syscall(__NR_getcpu) also has the advantage that it
wouldn't have to be changed again if node IDs become available via rseq
and getcpu is implemented using that.

Thanks,
Florian


Thanks, Florian. It makes sense to me to use syscall(__NR_getcpu) in
next revision. Thanks for your quick review :)

+1, and definitely add a comment to prevent future "cleanup".


Yep, I will have something like below in next revision:

/*
* We have to perform direct system call for getcpu() because it's not
* available until glic 2.29.
*/

Thanks,
Gavin