By Jonathan Corbet
June 10, 2009
Performance counters.
Version 8 of the performance
counters patch has been posted. This code has come a long way since its
beginnings; among other things, there is now a user-space utility which
makes the full functionality of performance counters available in a single
application. See the announcement for more details on what's happening in
this area.
Host protected area. The HPA patches for the IDE
subsystem were mentioned here last week. Since
then, Bartlomiej Zolnierkiewicz has updated the
patches and posted them, under the title "IDE fixes," for merging into
the 2.6.30 kernel. This posting raised some eyebrows, seeing as the 2.6.30
release was imminent at the time. A number of developers objected, noting
that it was the wrong part of the release cycle for the addition of new
features.
Bartlomiej stuck to his request, though, claiming that the addition of HPA
support was really a bug fix. He went as far as to suggest that the real reason for opposition to
merging the patches in 2.6.30 was a fear that they would allow the IDE
layer to surpass the libata code in functionality. In the end, needless to
say, these arguments did not prevail. The HPA code should go in for
2.6.31, but 2.6.30 was released without it.
halt_delay. A crashing kernel often prints a fair amount of useful
information on its way down. That information is often key to diagnosing
and fixing the problem. It also, often, is sufficiently voluminous that
the most important part scrolls off the console before it can possibly be
read. In the absence of a debugging console, that information is
forevermore lost - annoying, to say the least.
This patch by Dave Young takes an
interesting approach to this problem. A new sysfs parameter
(/sys/module/printk/parameters/halt_delay specifies a delay value
in milliseconds. If the kernel is currently halting or restarting, every
line printed to the console will be accompanied by the requested amount of
delay. Set halt_delay high enough, and it should be possible to
grab the most important information from an oops listing before it scrolls
off the screen. It's a bit of a blunt tool, but sometimes blunt is what is
needed to get the job done when more precise implements are not available.
r8169 ping of death. A longstanding bug in the RTL8169 NIC driver
would lead to an immediate crash when receiving a packet larger than 1500
bytes in size as reported by Michael
Tokarev. It turns out that the NIC was being informed that frames up to
16K in size could be received, but the skb provided for the receive ring
buffer was only 1536 bytes long. This bug goes back to somewhere before 2.6.10,
thus into the mists of pre-git time. The problem was fixed by a patch from Eric Dumazet, which was one of the
final patches merged before the release 2.6.30.
(
Log in to post comments)