24.05.2014 Views

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.12.1.2 Network Memory Buffer Pool Allocation Algorithm<br />

The algorithm used by the net_malloc kernel service for allocating buffers of<br />

various sizes has been changed. The high-water marks for various buffer sizes<br />

have been increased, particularly the 2 KB size used by the Ethernet and token<br />

ring device drivers.<br />

Requests for memory buffers between 16 KB and 128 KB are now rounded to the<br />

nearest power of 2. Allocations in this range were rounded to the nearest page<br />

size on prior versions of <strong>AIX</strong>. This change reduces the number of different sizes<br />

of buffers available, which in turn reduces the number of free lists the algorithm is<br />

required to manage.<br />

The method used by net_malloc to maintain free list information has been<br />

changed. On prior versions of <strong>AIX</strong>, each CPU maintained a free list for each<br />

different size of buffer. There is now one central free list for each buffer size<br />

between 16 KB and 128 KB in size. Each CPU still maintains a free list for each of<br />

the smaller buffer sizes. This change minimizes the amount of memory used by<br />

unallocated large buffers, while at the same time still allowing each CPU to<br />

maintain a list of smaller buffers for faster allocation.<br />

2.12.1.3 Network Memory Buffer Pool Statistics<br />

The kernel maintains usage statistics for the buffers allocated from the network<br />

memory buffer pool. The information contains details of the number of buffers of<br />

each size, and for each size, information on the number of buffers in use and the<br />

number of failed requests. This information can be displayed using the netstat -m<br />

command. In addition to maintaining information indexed by buffer size, the<br />

kernel also maintains information indexed by the purpose the buffer is being used<br />

for. The type indexed information can be expensive to maintain, so <strong>AIX</strong> <strong>Version</strong><br />

<strong>4.3</strong>.2 has introduced a method to disable it.<br />

The new extendednetstats network variable, which is altered using the no<br />

command, determines whether the by-type statistical information should be<br />

collected by the kernel. The variable has a default value of 1, which means that<br />

the kernel will collect the information. In order to improve networking<br />

performance, the default <strong>AIX</strong> installation disables collection of this information by<br />

changing the value of extendednetstats to 0. This is performed in the file<br />

/etc/rc.net that is run during system start up. If you want to view the by-type<br />

statistics, you should comment out the section of /etc/rc.net that changes the<br />

value of extendednetstats.<br />

The following section is near the end of the file and appears as:<br />

##################################################################<br />

# This disables extended netstat statistics for performance<br />

# reasons. To have extended netstat statistics enabled on<br />

# future reboots, comment out the following three lines.<br />

##################################################################<br />

if [ -f /usr/sbin/no ] ; then<br />

/usr/sbin/no -o extendednetstats=0 >>/dev/null 2>&1<br />

fi<br />

The information collected when extendednetstats is set to a value of 1 is<br />

displayed near the end of the output produced by the netstat -m command. An<br />

example of the output is shown below.<br />

# netstat -m<br />

22 <strong>AIX</strong> <strong>Version</strong> <strong>4.3</strong> <strong>Differences</strong> <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!