public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* cpuset_t interfaces
@ 2004-03-18  5:57 Ulrich Drepper
  2004-03-18  6:06 ` Andreas Jaeger
  0 siblings, 1 reply; 5+ messages in thread
From: Ulrich Drepper @ 2004-03-18  5:57 UTC (permalink / raw)
  To: GNU libc hacker

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 ❖

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: cpuset_t interfaces
  2004-03-18  5:57 cpuset_t interfaces Ulrich Drepper
@ 2004-03-18  6:06 ` Andreas Jaeger
  2004-03-19  7:40   ` Andreas Jaeger
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Jaeger @ 2004-03-18  6:06 UTC (permalink / raw)
  To: Ulrich Drepper; +Cc: GNU libc hacker

[-- Attachment #1: Type: text/plain, Size: 1738 bytes --]

Ulrich Drepper <drepper@redhat.com> writes:

> 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.

Go ahead and make the change.  Since you leave the compatibilty
interface, it should be ok...

Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: cpuset_t interfaces
  2004-03-18  6:06 ` Andreas Jaeger
@ 2004-03-19  7:40   ` Andreas Jaeger
  2004-03-19 19:00     ` Ulrich Drepper
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Jaeger @ 2004-03-19  7:40 UTC (permalink / raw)
  To: Ulrich Drepper; +Cc: GNU libc hacker

[-- Attachment #1: Type: text/plain, Size: 587 bytes --]


With current CVS I just got:

/usr/bin/ld: /builds/glibc/hammer+nptl/nptl/libpthread.so: undefined versioned symbol name pthread_getaffinity_np@@VERSION_libpthread_GLIBC_2_3_4
/usr/bin/ld: failed to set dynamic section sizes: Bad value
collect2: ld returned 1 exit status
make[2]: *** [/builds/glibc/hammer+nptl/nptl/libpthread.so] Error 1

Uli, did you forgot to commit a patch?
Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: cpuset_t interfaces
  2004-03-19  7:40   ` Andreas Jaeger
@ 2004-03-19 19:00     ` Ulrich Drepper
  2004-03-20  4:29       ` Andreas Jaeger
  0 siblings, 1 reply; 5+ messages in thread
From: Ulrich Drepper @ 2004-03-19 19:00 UTC (permalink / raw)
  To: Andreas Jaeger; +Cc: GNU libc hacker

Andreas Jaeger wrote:

> Uli, did you forgot to commit a patch?

No.  And it works here.

-- 
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: cpuset_t interfaces
  2004-03-19 19:00     ` Ulrich Drepper
@ 2004-03-20  4:29       ` Andreas Jaeger
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Jaeger @ 2004-03-20  4:29 UTC (permalink / raw)
  To: Ulrich Drepper; +Cc: GNU libc hacker

[-- Attachment #1: Type: text/plain, Size: 823 bytes --]

Ulrich Drepper <drepper@redhat.com> writes:

> Andreas Jaeger wrote:
>
>> Uli, did you forgot to commit a patch?
>
> No.  And it works here.

Strange.

I need the appended patch on amd64.  Ok to commit?

Andreas

2004-03-19  Andreas Jaeger  <aj@suse.de>

	* Versions.def: Add 2.3.4 version to libpthread.

============================================================
Index: Versions.def
--- Versions.def	8 Mar 2004 04:06:48 -0000	1.57
+++ Versions.def	19 Mar 2004 07:33:03 -0000
@@ -76,6 +76,7 @@ libpthread {
   GLIBC_2.2.6
   GLIBC_2.3.2
   GLIBC_2.3.3
+  GLIBC_2.3.4
   GLIBC_PRIVATE
 }
 libresolv {

-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SUSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-03-19  7:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-18  5:57 cpuset_t interfaces Ulrich Drepper
2004-03-18  6:06 ` Andreas Jaeger
2004-03-19  7:40   ` Andreas Jaeger
2004-03-19 19:00     ` Ulrich Drepper
2004-03-20  4:29       ` Andreas Jaeger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).