mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
Pad each field to __syscall_slong_t in struct rusage
This commit is contained in:
parent
46259beccc
commit
5e1a27a96d
@ -1,3 +1,10 @@
|
||||
2012-05-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/bits/resource.h (RLIM_INFINITY): Use
|
||||
__rlim_t cast.
|
||||
(struct rusage): Use anonymous union to pad each field to
|
||||
__syscall_slong_t.
|
||||
|
||||
2012-05-21 David S. Miller <davem@davemloft.net>
|
||||
|
||||
* Makefules (o-iterator): Remove .s cases.
|
||||
|
@ -1,6 +1,5 @@
|
||||
/* Bit values & structures for resource limits. Linux version.
|
||||
Copyright (C) 1994, 1996-2000, 2004, 2005, 2008, 2009, 2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2012 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
|
||||
@ -113,7 +112,7 @@ enum __rlimit_resource
|
||||
|
||||
/* Value to indicate that there is no limit. */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
# define RLIM_INFINITY ((unsigned long int)(~0UL))
|
||||
# define RLIM_INFINITY ((__rlim_t) -1)
|
||||
#else
|
||||
# define RLIM_INFINITY 0xffffffffffffffffuLL
|
||||
#endif
|
||||
@ -180,6 +179,11 @@ enum __rusage_who
|
||||
#include <bits/time.h> /* For `struct timeval'. */
|
||||
|
||||
/* Structure which says how much of each resource has been used. */
|
||||
|
||||
/* The purpose of all the unions is to have the kernel-compatible layout
|
||||
while keeping the API type as 'long int', and among machines where
|
||||
__syscall_slong_t is not 'long int', this only does the right thing
|
||||
for little-endian ones, like x32. */
|
||||
struct rusage
|
||||
{
|
||||
/* Total amount of user time used. */
|
||||
@ -187,39 +191,96 @@ struct rusage
|
||||
/* Total amount of system time used. */
|
||||
struct timeval ru_stime;
|
||||
/* Maximum resident set size (in kilobytes). */
|
||||
long int ru_maxrss;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_maxrss;
|
||||
__syscall_slong_t __ru_maxrss_word;
|
||||
};
|
||||
/* Amount of sharing of text segment memory
|
||||
with other processes (kilobyte-seconds). */
|
||||
long int ru_ixrss;
|
||||
/* Maximum resident set size (in kilobytes). */
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_ixrss;
|
||||
__syscall_slong_t __ru_ixrss_word;
|
||||
};
|
||||
/* Amount of data segment memory used (kilobyte-seconds). */
|
||||
long int ru_idrss;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_idrss;
|
||||
__syscall_slong_t __ru_idrss_word;
|
||||
};
|
||||
/* Amount of stack memory used (kilobyte-seconds). */
|
||||
long int ru_isrss;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_isrss;
|
||||
__syscall_slong_t __ru_isrss_word;
|
||||
};
|
||||
/* Number of soft page faults (i.e. those serviced by reclaiming
|
||||
a page from the list of pages awaiting reallocation. */
|
||||
long int ru_minflt;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_minflt;
|
||||
__syscall_slong_t __ru_minflt_word;
|
||||
};
|
||||
/* Number of hard page faults (i.e. those that required I/O). */
|
||||
long int ru_majflt;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_majflt;
|
||||
__syscall_slong_t __ru_majflt_word;
|
||||
};
|
||||
/* Number of times a process was swapped out of physical memory. */
|
||||
long int ru_nswap;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_nswap;
|
||||
__syscall_slong_t __ru_nswap_word;
|
||||
};
|
||||
/* Number of input operations via the file system. Note: This
|
||||
and `ru_oublock' do not include operations with the cache. */
|
||||
long int ru_inblock;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_inblock;
|
||||
__syscall_slong_t __ru_inblock_word;
|
||||
};
|
||||
/* Number of output operations via the file system. */
|
||||
long int ru_oublock;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_oublock;
|
||||
__syscall_slong_t __ru_oublock_word;
|
||||
};
|
||||
/* Number of IPC messages sent. */
|
||||
long int ru_msgsnd;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_msgsnd;
|
||||
__syscall_slong_t __ru_msgsnd_word;
|
||||
};
|
||||
/* Number of IPC messages received. */
|
||||
long int ru_msgrcv;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_msgrcv;
|
||||
__syscall_slong_t __ru_msgrcv_word;
|
||||
};
|
||||
/* Number of signals delivered. */
|
||||
long int ru_nsignals;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_nsignals;
|
||||
__syscall_slong_t __ru_nsignals_word;
|
||||
};
|
||||
/* Number of voluntary context switches, i.e. because the process
|
||||
gave up the process before it had to (usually to wait for some
|
||||
resource to be available). */
|
||||
long int ru_nvcsw;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_nvcsw;
|
||||
__syscall_slong_t __ru_nvcsw_word;
|
||||
};
|
||||
/* Number of involuntary context switches, i.e. a higher priority process
|
||||
became runnable or the current process used up its time slice. */
|
||||
long int ru_nivcsw;
|
||||
__extension__ union
|
||||
{
|
||||
long int ru_nivcsw;
|
||||
__syscall_slong_t __ru_nivcsw_word;
|
||||
};
|
||||
};
|
||||
|
||||
/* Priority limits. */
|
||||
|
Loading…
Reference in New Issue
Block a user