This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
I intend to change the interfaces taking a cpuset_t parameter.
Currently we have
extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
__const cpu_set_t *__cpuset);
extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
cpu_set_t *__cpuset);
and the sched_[sg]etaffinity interfaces which have no prototype yet.
The problem is the limited cpuset_t size. Just thinking about HT
multicore processors in multi-processor machines should be enough that
1024 virtual processors isn't that hard to reach.
Therefore the interface should include a size parameter:
extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
__const cpu_set_t *__cpuset,
size_t size);
extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
cpu_set_t *__cpuset,
size_t size);
This way the data structure can be expanded if necessary.
The interfaces are in very little use today. We keep the old interfaces
and make them simple wrappers with a fixed size of 128 bytes.
Unless I hear well-founded objections I'll make the change tomorrow.
--
â Ulrich Drepper â Red Hat, Inc. â 444 Castro St â Mountain View, CA â
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |