mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
* bits/sched.h: Define __CPU_COUNT. Declare __sched_cpucount.
* sysdeps/unix/sysv/linux/bits/sched.h: Likewise. * posix/sched.h: Define CPU_COUNT.
This commit is contained in:
@ -5,6 +5,9 @@
|
|||||||
* posix/sched_cpucount.c: New file.
|
* posix/sched_cpucount.c: New file.
|
||||||
* posix/tst-cpucount.c: New file.
|
* posix/tst-cpucount.c: New file.
|
||||||
* posix/Versions: Export __sched_cpucount with version GLIBC_2.6.
|
* 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@redhat.com>
|
2007-03-27 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* Definitions of constants and data structure for POSIX 1003.1b-1993
|
/* Definitions of constants and data structure for POSIX 1003.1b-1993
|
||||||
scheduling interface.
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -68,4 +68,7 @@ typedef struct
|
|||||||
((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
|
((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
|
||||||
# define __CPU_ISSET(cpu, cpusetp) \
|
# define __CPU_ISSET(cpu, cpusetp) \
|
||||||
(((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
|
(((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
|
#endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -65,11 +65,12 @@ extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
|
|||||||
|
|
||||||
#ifdef __USE_GNU
|
#ifdef __USE_GNU
|
||||||
/* Access macros for `cpu_set'. */
|
/* Access macros for `cpu_set'. */
|
||||||
#define CPU_SETSIZE __CPU_SETSIZE
|
# define CPU_SETSIZE __CPU_SETSIZE
|
||||||
#define CPU_SET(cpu, cpusetp) __CPU_SET (cpu, cpusetp)
|
# define CPU_SET(cpu, cpusetp) __CPU_SET (cpu, cpusetp)
|
||||||
#define CPU_CLR(cpu, cpusetp) __CPU_CLR (cpu, cpusetp)
|
# define CPU_CLR(cpu, cpusetp) __CPU_CLR (cpu, cpusetp)
|
||||||
#define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)
|
# define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)
|
||||||
#define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
|
# define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
|
||||||
|
# define CPU_COUNT(cpusetp) __CPU_COUNT (cpusetp)
|
||||||
|
|
||||||
|
|
||||||
/* Set the CPU affinity for a task */
|
/* Set the CPU affinity for a task */
|
||||||
|
@ -21,10 +21,10 @@
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
__sched_cpucount (cpu_set_t *setp)
|
__sched_cpucount (size_t setsize, cpu_set_t *setp)
|
||||||
{
|
{
|
||||||
int s = 0;
|
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];
|
__cpu_mask l = setp->__bits[j];
|
||||||
if (l == 0)
|
if (l == 0)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* Definitions of constants and data structure for POSIX 1003.1b-1993
|
/* Definitions of constants and data structure for POSIX 1003.1b-1993
|
||||||
scheduling interface.
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -127,4 +128,7 @@ typedef struct
|
|||||||
((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
|
((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
|
||||||
# define __CPU_ISSET(cpu, cpusetp) \
|
# define __CPU_ISSET(cpu, cpusetp) \
|
||||||
(((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
|
(((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
|
#endif
|
||||||
|
Reference in New Issue
Block a user