This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: S390: Add support for vdso getcpu symbol.


On 04/29/2016 03:42 AM, Stefan Liebler wrote:
> Hi,
> 
> This patch adds support for symbol __kernel_getcpu in vDSO,
> which is available with kernel 4.5.
> Now sched_getcpu is using this symbol if available in mapped vDSO
> by defining macro HAVE_GETCPU_VSYSCALL. If not available at runtime,
> the former syscall is used.
> 
> Bye
> Stefan
> 
> ChangeLog:
> 
>     * sysdeps/unix/sysv/linux/s390/init-first.c:
>     Add VDSO_SYMBOL(getcpu).
>     (_libc_vdso_platform_setup): Initialize VDSO_SYMBOL(getcpu).
>     * sysdeps/unix/sysv/linux/s390/libc-vdso.h:
>     Add VDSO_SYMBOL(getcpu).
>     * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h:
>     New define HAVE_GETCPU_VSYSCALL.
>     * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.

Stefan,

Looks good to me, but I have one question.

Why are the versions of these new symbols LINUX_2.6.29?

If the kernel really wants to follow the userspace conventions
for symbol versioning, the version of a newly added symbol is
that of the Linux version that released the symbol.

This allows users and developers to know exactly which upstream
public kernel version exported the symbol, and talk sensible about
the exported ABI/API in terms of these versions. Right now having
them all be LINUX_2.6.29 is useful only for adding compat symbols
at newer versions.

At this point it's too late, you have a release with these symbols
at these versions, and you can't change it.

Martin,

Did you consider using LINUX_4.5 version for these symbols?

-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]