This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] sched_getaffinity() fails with -EINVAL
- From: KOSAKI Motohiro <kosaki dot motohiro at jp dot fujitsu dot com>
- To: Ulrich Drepper <drepper at redhat dot com>, Sharyathi Nagesh <sharyath at in dot ibm dot com>
- Cc: kosaki dot motohiro at jp dot fujitsu dot com, libc-alpha at sourceware dot org
- Date: Fri, 19 Feb 2010 11:52:32 +0900 (JST)
- Subject: Re: [PATCH] sched_getaffinity() fails with -EINVAL
- References: <4B7D30C6.8060702@in.ibm.com> <4B7D8565.6010603@redhat.com>
Hi
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 02/18/2010 04:21 AM, Sharyathi Nagesh wrote:
> > We are observing that ltp test case getcpu01.c is failing in some of
> > the machines. In the test case: system call to sched_getaffinity()
> > fails. Linux kernel is giving EINVAL on call to sched_getaffinity().
>
> You don't understand the concept of binary compatibility, do you? You
> cannot change the size of a type.
>
> It is unfortunate that the type isn't large enough but it's what it is.
> The size was chosen based on what the kernel people said at that time.
> Regardless, even a larger number doesn't guarantee it'll work in future.
>
> All code will have to use the dynamically sized CPU sets. Use the *_S
> macros to handle them.
Yes, Both type size change and syscall failure are binary incompatibility.
Sharyathi, Why can't we change kernel's painful argument assumption?