![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 0002 #ifndef _UAPI_LINUX_RESOURCE_H 0003 #define _UAPI_LINUX_RESOURCE_H 0004 0005 #include <linux/time.h> 0006 #include <linux/types.h> 0007 0008 /* 0009 * Resource control/accounting header file for linux 0010 */ 0011 0012 /* 0013 * Definition of struct rusage taken from BSD 4.3 Reno 0014 * 0015 * We don't support all of these yet, but we might as well have them.... 0016 * Otherwise, each time we add new items, programs which depend on this 0017 * structure will lose. This reduces the chances of that happening. 0018 */ 0019 #define RUSAGE_SELF 0 0020 #define RUSAGE_CHILDREN (-1) 0021 #define RUSAGE_BOTH (-2) /* sys_wait4() uses this */ 0022 #define RUSAGE_THREAD 1 /* only the calling thread */ 0023 0024 struct rusage { 0025 struct __kernel_old_timeval ru_utime; /* user time used */ 0026 struct __kernel_old_timeval ru_stime; /* system time used */ 0027 __kernel_long_t ru_maxrss; /* maximum resident set size */ 0028 __kernel_long_t ru_ixrss; /* integral shared memory size */ 0029 __kernel_long_t ru_idrss; /* integral unshared data size */ 0030 __kernel_long_t ru_isrss; /* integral unshared stack size */ 0031 __kernel_long_t ru_minflt; /* page reclaims */ 0032 __kernel_long_t ru_majflt; /* page faults */ 0033 __kernel_long_t ru_nswap; /* swaps */ 0034 __kernel_long_t ru_inblock; /* block input operations */ 0035 __kernel_long_t ru_oublock; /* block output operations */ 0036 __kernel_long_t ru_msgsnd; /* messages sent */ 0037 __kernel_long_t ru_msgrcv; /* messages received */ 0038 __kernel_long_t ru_nsignals; /* signals received */ 0039 __kernel_long_t ru_nvcsw; /* voluntary context switches */ 0040 __kernel_long_t ru_nivcsw; /* involuntary " */ 0041 }; 0042 0043 struct rlimit { 0044 __kernel_ulong_t rlim_cur; 0045 __kernel_ulong_t rlim_max; 0046 }; 0047 0048 #define RLIM64_INFINITY (~0ULL) 0049 0050 struct rlimit64 { 0051 __u64 rlim_cur; 0052 __u64 rlim_max; 0053 }; 0054 0055 #define PRIO_MIN (-20) 0056 #define PRIO_MAX 20 0057 0058 #define PRIO_PROCESS 0 0059 #define PRIO_PGRP 1 0060 #define PRIO_USER 2 0061 0062 /* 0063 * Limit the stack by to some sane default: root can always 0064 * increase this limit if needed.. 8MB seems reasonable. 0065 */ 0066 #define _STK_LIM (8*1024*1024) 0067 0068 /* 0069 * Limit the amount of locked memory by some sane default: 0070 * root can always increase this limit if needed. 0071 * 0072 * The main use-cases are (1) preventing sensitive memory 0073 * from being swapped; (2) real-time operations; (3) via 0074 * IOURING_REGISTER_BUFFERS. 0075 * 0076 * The first two don't need much. The latter will take as 0077 * much as it can get. 8MB is a reasonably sane default. 0078 */ 0079 #define MLOCK_LIMIT (8*1024*1024) 0080 0081 /* 0082 * Due to binary compatibility, the actual resource numbers 0083 * may be different for different linux versions.. 0084 */ 0085 #include <asm/resource.h> 0086 0087 0088 #endif /* _UAPI_LINUX_RESOURCE_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |