嵌入式linux中文站在线图书

Previous Page
Next Page

12.2. Tuning via /proc and sysfs Filesystems

All of the files in /proc/sys/net/core listed in Table 12-1 are defined in net/core/sysctl_net_core.c, where you can find the association between files and kernel variables.

Table 12-1. /proc/sys/net/core/ files usable for tuning frame reception

Filename

Kernel variablea

Default value

netdev_max_backlog

netdev_max_backlog

300

mod_cong

mod_cong

290

lo_cong

lo_cong

100

no_cong

no_cong

20

no_cong_thresh

no_cong_thresh

10

dev_weight

weight_p

64

a All of these variables are defined in net/core/dev.c.


I would like to stress that NAPI drivers do not need any of the fields in Table 12-1. NAPI drivers are expected to initialize net_device->weight using local (to the driver) values rather than weight_p. But they could use weight_p if they wanted, particularly because they usually use the same default value of 64. Starting with kernel 2.6.12, the value of net_device's weight field can be tuned at runtime with sysfs via the per-device files /sys/class/net/device_name/weight. The weight file is created in net/core/net-sysfs.c.

The statistics collected with the netdev_rx_stats structures described in the section "Statistics" can be read via the file /proc/net/softnet_stat (the output is in hexadecimal).


Previous Page
Next Page