[PATCH 2/2] Add VDSO version of sched_getcpu on powerpc
Ryan S. Arnold
ryan.arnold@gmail.com
Wed Jan 9 20:17:00 GMT 2013
On Tue, Jan 8, 2013 at 1:56 PM, Ryan S. Arnold <ryan.arnold@gmail.com> wrote:
> On Tue, Jan 8, 2013 at 1:45 PM, Roland McGrath <roland@hack.frob.com> wrote:
>>>
>>> + __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux2615);
>>>
>>> Considering that __kernel_getcpu for powerpc went into the Linux
>>> kernel last July (3.5), I believe this should be:
>>>
>>> PREPARE_VERSION (linux35, "LINUX_3.5", 61765365);
>>> __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux35);
>>
>> That would be the case if the kernel folks had used proper symbol
>> versioning discipline for adding new features to the vDSO. But they
>> didn't. The version set name has to match what's in the vDSO image,
>> obviously. The powerpc vDSO uses "LINUX_2.6.15".
>
> Thanks for clearing that up Roland. I was clawing my way through the
> Linux kernel sources but this didn't stick out to me.
>
> So, on a system that has a Linux 2.6.15 kernel but doesn't have the
> __kernel_getcpu vDSO call available _dl_vdso_vsym should still resolve
> this as null and the syscall fallback should be hit.
So the original patch is correct and complete. I'm going to run one
more regression test and check this in unless there's any opposition.
Ryan
More information about the Libc-alpha
mailing list