| kernel |
Distributions |
|||
| Novell |
Red Hat |
|||
| Family |
Family release |
Family |
Family release |
|
| 2.6.5 |
SLES (SuSE Linux Enterprise
Server) |
9 |
FC (Fedora Core) |
2 |
| 2.6.9 |
FC (Fedora Core) |
3 |
||
| RHEL (Red Hat Enterprise
Linux) |
4 |
|||
| 2.6.11 |
(Open) SuSE |
9.3 |
FC (Fedora Core) |
4 |
| EINVAL |
keyword is invalid |
| identifier is a NULL pointer, while the
tunable asked for needs an identifier |
|
| identifier is an empty string, while the
tunable asked for needs an identifier |
|
| outbuf is a NULL pointer |
|
| out_sz is a NULL pointer |
|
| ENODATA |
The value looked for could not be found |
| ESRCH |
identifier points to an invalid pid |
| EPERM |
the calling application does not have the
neccessary rights to get the needed tunable value |
| ENOENT |
the underlying file does not exist. |
| ENOMEM |
if the API failed to allocate memory |
| EINVAL |
keyword is invalid |
| identifier is a NULL pointer, while the
tunable asked for needs an identifier |
|
| identifier is an empty string, while the
tunable asked for needs an identifier |
|
| in_buff is a NULL pointer |
|
| in_sz has a 0 value |
|
| outbuf is a NULL pointer |
|
| out_sz is a NULL pointer |
|
| keyword is one of TUN_H_OP_MAX, TUN_S_OP_MAX,
TUN_H_CHILD_MAX, TUN_S_CHILD_MAX, TUN_S_STK_MAX, TUN_S_DATA_MAX,
TUN_S_VM_MAX and the input buffer is not a string of digits |
|
| ESRCH |
identifier points to an invalid pid |
| EPERM |
the calling application does not have the
neccessary rights to set the needed tunable value |
| ENOENT |
the underlying file does not exist. |
| ENOMEM |
if the API failed to allocate memory |
| ERANGE |
keyword is one of TUN_H_OP_MAX, TUN_S_OP_MAX,
TUN_H_CHILD_MAX, TUN_S_CHILD_MAX, TUN_S_STK_MAX, TUN_S_DATA_MAX,
TUN_S_VM_MAX and the input buffer contains a value that is out of range |
| EINVAL |
keyword is invalid |
| outbuf is a NULL pointer |
|
| out_sz is a NULL pointer |
|
| ENOMEM |
if the API failed to allocate memory |
| EINVAL |
location is a NULL pointer |
| keyword points to an invalid value |
|
| location is an empty string |
|
| keyword is a NULL pointer |
|
| ENOMEM |
if the API failed to allocate memory |
| EINVAL |
keyword is a NULL pointer |
| keyword points to an invalid value |
| EINVAL |
keyword is invalid |
| help is a NULL pointer |
|
| help_sz is a NULL pointer |
|
| ENOMEM |
if the API failed to allocate memory |
| Constant name |
Tunable meaning |
id parameter in the API
interfaces |
location |
| TUN_SHMMIN | Minimum shm segment size (in
bytes) |
||
| TUN_H_OP_MAX |
Max number of open fds (hard limit) | ||
| TUN_S_OP_MAX | Max number of open fds (soft limit) | ||
| TUN_H_CHILD_MAX | Max number of processes (hard limit) | ||
| TUN_S_CHILD_MAX | Max number of processes (soft limit) | ||
| TUN_S_STK_MAX | stack size (soft limit) | ||
| TUN_S_DATA_MAX | size of data segment (soft limit) | ||
| TUN_S_VM_MAX | size of virtual memory (soft limit) | ||
| TUN_SEMMSL | Max number of semaphores per id | /proc/sys/kernel/sem |
|
| TUN_SEMMNS | Max number of semaphores in the system | /proc/sys/kernel/sem | |
| TUN_SEMMNI | Max number of semaphore identifiers | /proc/sys/kernel/sem | |
| TUN_SEMOPM | Max number of operations per semop call | /proc/sys/kernel/sem | |
| TUN_REC_PACKS | Number of receive packets for <interface> | Network interface (string) |
/proc/net/dev |
| TUN_MEMSPACE |
Total memory space |
/proc/meminfo | |
| TUN_SWAPTOT | Total swap space | /proc/meminfo | |
| TUN_SWAPFREE |
Free swap area | /proc/meminfo | |
| TUN_HPGTOT | Total number of huge pages | /proc/meminfo | |
| TUN_HPGFREE | Number of free huge pages | /proc/meminfo | |
| TUN_HPGSZ | Huge page size | /proc/meminfo | |
| TUN_CTX_SW | Number of context switches | /proc/stat | |
| TUN_CPUPHYSID | Physical id for <cpuid> | CPU id (integer) |
/proc/cpuinfo |
| TUN_SIBLINGS | Number of sibling CPUs for CPU <cpuid> | CPU id (integer) |
/proc/cpuinfo |
| TUN_SHMMNI | Maximum number of shm segment ids | /proc/sys/kernel/shmmni | |
| TUN_SEM | All semaphore parameters | /proc/sys/kernel/sem | |
| TUN_CMDLINE | Complete command line for process <pid> | Process id (integer) |
/proc/<PID>/cmdline |
| TUN_STAT | Statistics for process <pid> | Process id (integer) |
/proc/<PID>/stat |
| TUN_MEMINFO | Memory statistics | /proc/meminfo | |
| TUN_SLEEPSTATE | Sleep state | /sys/power/state | |
| TUN_CPULIMITS | limits for CPU <cpuid> | CPU id (integer) |
/proc/acpi/processor/CPU<CPUID>/limit |
| TUN_FILEMAX | Max number of files |
/proc/sys/fs/file-max | |
| TUN_CPUINFO | CPU info | /proc/cpuinfo | |
| TUN_FIN_TIMEOUT | Timeout for a FIN packet before the socket is forcibly closed | /proc/sys/net/ipv4/tcp_fin_timeout | |
| TUN_MAX_BACKLOG | Maximum # of queued connection requests which have still not received an ACK from the connecting client | /proc/sys/net/ipv4/tcp_max_syn_backlog | |
| TUN_TW_REUSE | Allow to reuse TIME-WAIT sockets for new connections | /proc/sys/net/ipv4/tcp_tw_reuse | |
| TUN_LOC_P_RANGE | Local port range used by TCP and UDP | /proc/sys/net/ipv4/ip_local_port_range | |
| TUN_IPV4_RMEM | Min-default-max memory size of the TCP receive buffers | /proc/sys/net/ipv4/tcp_rmem | |
| TUN_IPV4_WMEM | Min-default-max memory size of the TCP send buffers | /proc/sys/net/ipv4/tcp_wmem | |
| TUN_WIN_SCALING | Enable TCP to negociate the
use of window scaling during connection set up |
/proc/sys/net/ipv4/tcp_window_scaling | |
| TUN_MTU_SIZE | MTU size for <interface> | Network interface (string) |
/proc/sys/net/ipv6/conf/<interface>/mtu |
| TUN_PARTITIONS | Disks info | /proc/partitions |
|
| TUN_NET_DEV | Network device status info | /proc/net/dev | |
| TUN_RMEM_MAX | Max receive buffer size | /proc/sys/net/core/rmem_max | |
| TUN_WMEM_MAX | Max send buffer size | /proc/sys/net/core/wmem_max | |
| TUN_NET_BACKLOG | Max # of received buffers
processed before congestion |
/proc/sys/net/core/netdev_max_backlog | |
| TUN_OVC_MEM | Kernel policy for memory
allocation |
/proc/sys/vm/overcommit_memory | |
| TUN_OVC_RATIO | Percentage of memory added
to the swap to get the max address space allowed to be committed |
/proc/sys/vm/overcommit_ratio | |
| TUN_SWAPPINESS | Swappiness |
/proc/sys/vm/swappiness | |
| TUN_NR_HUGE_PG | Number of configured huge pages | /proc/sys/vm/nr_hugepages | |
| TUN_P_STAT | Kernel and system statistics | /proc/stat |
| Constant name |
Tunable meaning |
location |
FC4 location |
| TUN_EXEC_SHIELD | Security level for the
exec-shield functionality - Red Hat specific |
/proc/sys/kernel/exec-shield | /proc/sys/kernel/exec-shield |
| TUN_EXEC_SHIELD_R | Controls whether to
randomize VM mappings - Red Hat specific |
/proc/sys/kernel/exec-shield-randomize | /proc/sys/kernel/randomize_va_space |
| Constant name |
Tunable meaning |
id parameter in the API
interfaces |
location |
| TUN_MAPPED_BASE | Shared memory address map
for <pid> - SuSE specific |
Process id (integer) |
/proc/<PID>/mapped_base |
# cd scriptsToday, the 2 supported values for $DISTRO are REDHAT and SUSE
# DISTRO=`./get_distro.sh -d`
# cd ..
# mkdir include/base-2.6.13/distro-${DISTRO}
# mkdir distro-lib/base-2.6.13/distro-${DISTRO}
# cd scripts
# D=`./get_distro.sh -d`
# F=`./get_distro.sh -f`
# R=`./get_distro.sh -r`
# cd ..
# mkdir -p include/base-2.6.13/distro-${D}/${F}/${R}
# mkdir -p distro-lib/base-2.6.13/distro-${D}/${F}/${R}
$D
$F
$R
Meaning
REDHAT
FC
1
Fedora Core 1
2
Fedora Core 2
3
Fedora Core 3
4
Fedora Core 4
RH
3.0.3
Red Hat Linux release 3.0.3
4.0
Red Hat Linux release 4.0
4.1
Red Hat Linux release 4.1
4.2
Red Hat Linux release 4.2
5.0
Red Hat Linux release 5.0
5.1
Red Hat Linux release 5.1
5.2
Red Hat Linux release 5.2
6.0
Red Hat Linux release 6.0
6.1
Red Hat Linux release 6.1
6.2
Red Hat Linux release 6.2
7.0
Red Hat Linux release 7.0
7.1
Red Hat Linux release 7.1
7.2
Red Hat Linux release 7.2
7.3
Red Hat Linux release 7.3
8
Red Hat Linux release 8
9
Red Hat Linux release 9
RHEL
2.1
Red Hat Enterprise Linux release 2.1
3
Red Hat Enterprise Linux release 3
4
Red Hat Enterprise Linux release 4
SUSE
SL
any
SuSE Linux
SLES
any
SuSE Linux Enterprise Server
| Name category |
How to set the name
attribute |
| 2.1 |
ATTR_NAME_SYS_WIDE |
| 2.2.a |
ATTR_NAME_PER_PROC |
| 2.2.b |
ATTR_NAME_PER_CPU |
| 2.2.c |
ATTR_NAME_PER_NETINT |
| 2.2.d |
ATTR_NAME_PER_PCI |
| Contents category |
How to set the
content
attribute |
| 1.a |
Depends on the
tunable |
| 1.b |
ATTR_CONT_SYS_WIDE |
| 1.c |
ATTR_CONT_PER_* (see
include/libtune_priv.h for the possible values) |
| 1.d |
ATTR_CONT_SYS_WIDE |
| 1.e |
ATTR_CONT_PER_* (see include/libtune_priv.h for the possible values) |
| 1.f |
ATTR_CONT_SYS_WIDE |
| Contents category |
Get strategy routine |
Set strategy routine |
| 1.a |
Depends on the
tunable |
Depends on the tunable |
| 1.b |
strat_get_subfile_line |
strat_set_subfile_line |
| 1.c |
strat_get_subfile_lines |
strat_set_subfile_lines |
| 1.d |
strat_get_subfile_block |
strat_set_subfile_block |
| 1.e |
strat_get_subfile_blocks | strat_set_subfile_block |
| 1.f |
strat_get_file |
strat_set_file |
| impacted array |
Impacted l_tunlimits
index |
| TUNDB_S1 |
S1_LIMITS |
| TUNDB_S2 | S2_LIMITS |
| TUNDB_S3 | S3_LIMITS |
| TUNDB_S4 | S4_LIMITS |
| TUNDB_S5 | S5_LIMITS |
| TUNDB_S6 | S6_LIMITS |
| impacted array |
Impacted l_tunlimits
index |
| TUNDB_S1_1 |
S1_1_LIMITS |
| TUNDB_S2_1 | S2_1_LIMITS |
| TUNDB_S3_1 | S3_1_LIMITS |
| TUNDB_S4_1 | S4_1_LIMITS |
| TUNDB_S5_1 | S5_1_LIMITS |
| TUNDB_S6_1 | S6_1_LIMITS |