[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r1895 - in /fsf/trunk/libc: ChangeLog bits/sched.h posix/sched.h posix/sched_cpucount.c sysdeps/unix/sysv/linux/bits/sched.h



Author: eglibc
Date: Thu Apr  5 00:01:29 2007
New Revision: 1895

Log:
Import glibc-mainline for 2007-04-05

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/bits/sched.h
    fsf/trunk/libc/posix/sched.h
    fsf/trunk/libc/posix/sched_cpucount.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Apr  5 00:01:29 2007
@@ -5,6 +5,9 @@
 	* posix/sched_cpucount.c: New file.
 	* posix/tst-cpucount.c: New file.
 	* posix/Versions: Export __sched_cpucount with version GLIBC_2.6.
+	* bits/sched.h: Define __CPU_COUNT.  Declare __sched_cpucount.
+	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
+	* posix/sched.h: Define CPU_COUNT.
 
 2007-03-27  Jakub Jelinek  <jakub@xxxxxxxxxx>
 

Modified: fsf/trunk/libc/bits/sched.h
==============================================================================
--- fsf/trunk/libc/bits/sched.h (original)
+++ fsf/trunk/libc/bits/sched.h Thu Apr  5 00:01:29 2007
@@ -1,6 +1,6 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996, 1997, 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2001, 2003, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -68,4 +68,7 @@
   ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
 # define __CPU_ISSET(cpu, cpusetp) \
   (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
+extern int __sched_cpucount (size_t __setsize, cpu_set_t *__setp) __THROW;
+# define __CPU_COUNT(cpusetp) \
+  __sched_cpucount (sizeof (cpu_set_t), cpusetp)
 #endif

Modified: fsf/trunk/libc/posix/sched.h
==============================================================================
--- fsf/trunk/libc/posix/sched.h (original)
+++ fsf/trunk/libc/posix/sched.h Thu Apr  5 00:01:29 2007
@@ -1,5 +1,5 @@
 /* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
-   Copyright (C) 1996,1997,1999,2001-2003,2004 Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1999,2001-2004,2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -65,11 +65,12 @@
 
 #ifdef __USE_GNU
 /* Access macros for `cpu_set'.  */
-#define CPU_SETSIZE __CPU_SETSIZE
-#define CPU_SET(cpu, cpusetp)	__CPU_SET (cpu, cpusetp)
-#define CPU_CLR(cpu, cpusetp)	__CPU_CLR (cpu, cpusetp)
-#define CPU_ISSET(cpu, cpusetp)	__CPU_ISSET (cpu, cpusetp)
-#define CPU_ZERO(cpusetp)	__CPU_ZERO (cpusetp)
+# define CPU_SETSIZE __CPU_SETSIZE
+# define CPU_SET(cpu, cpusetp)	 __CPU_SET (cpu, cpusetp)
+# define CPU_CLR(cpu, cpusetp)	 __CPU_CLR (cpu, cpusetp)
+# define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)
+# define CPU_ZERO(cpusetp)	 __CPU_ZERO (cpusetp)
+# define CPU_COUNT(cpusetp)	 __CPU_COUNT (cpusetp)
 
 
 /* Set the CPU affinity for a task */

Modified: fsf/trunk/libc/posix/sched_cpucount.c
==============================================================================
--- fsf/trunk/libc/posix/sched_cpucount.c (original)
+++ fsf/trunk/libc/posix/sched_cpucount.c Thu Apr  5 00:01:29 2007
@@ -21,10 +21,10 @@
 
 
 int
-__sched_cpucount (cpu_set_t *setp)
+__sched_cpucount (size_t setsize, cpu_set_t *setp)
 {
   int s = 0;
-  for (unsigned int j = 0; j < __CPU_SETSIZE / __NCPUBITS; ++j)
+  for (unsigned int j = 0; j < setsize / sizeof (__cpu_mask); ++j)
     {
       __cpu_mask l = setp->__bits[j];
       if (l == 0)

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h Thu Apr  5 00:01:29 2007
@@ -1,6 +1,7 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996-1999,2001-2003,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1996-1999,2001-2003,2005,2006,2007
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -127,4 +128,7 @@
   ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
 # define __CPU_ISSET(cpu, cpusetp) \
   (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
+extern int __sched_cpucount (size_t __setsize, cpu_set_t *__setp) __THROW;
+# define __CPU_COUNT(cpusetp) \
+  __sched_cpucount (sizeof (cpu_set_t), cpusetp)
 #endif