Various short topics
[Posted March 26, 2003 by corbet]
Discussion on linux-kernel this week touched on a number of topics that,
while worth a mention, don't necessarily justify a full article of their
own. Here's a few of them:
Deprecating the .gz format. Peter Anvin would like to get rid of the .gz files on
kernel.org. The bzip2 format has been around for quite some time and is
far more space efficient; it would seem that eliminating the older format
would be relatively uncontroversial. Such is not the case, however; users
protested that the bzip2 format is slower, is not supported on Windows, and
so on. The end result is that the gzip files will remain for some time
yet.
kbugs.org is now showing over 1400
potential bugs found with the rapidly-evolving smatch system. A number
of these are real, and fixes are beginning to find their way into the
mainline kernel.
The Stanford Checker team has also been posting errors; the latest set points out places where kernel
code is directly dereferencing user-supplied pointers. That kind of
mistake can lead to all kinds of problems, of course, including security
issues. The discussion led to a suggestion
that the kernel use a different type for user-space pointers, so that this
kind error could be caught directly by the compiler. The idea makes some
sense; kernel code currently does not formally distinguish between
user-space, kernel-space, and physical address pointers. Clarifying the
difference between them could catch a lot of mistakes. This sort of change
seems unlikely at this point in 2.5, however.
The object-based reverse mapping VM patch was covered here back in February. The
object-based rmap code does not work with anonymous memory (memory which is
not mapped to a file somewhere), however, meaning that this memory must
still be managed with PTE chains. Hugh Dickins has posted a new set of
patches which extend the object-based approach to anonymous memory as
well. The patch was included in the -mm tree for a while, and seems to
work without trouble. The only problem is: it doesn't actually help
performance very much. Most anonymous memory only shows up in one page
table, so its PTE chain overhead is essentially zero. So this patch has
been dropped, though useful pieces of it may eventually find their way into
the tree.
The IDE todo list has been posted by
Alan Cox. This list is important in that it affects most Linux users; it
also documents some of the remaining tasks to be done on the way to a 2.6
release. There's a few drivers needing thorough audits (and some that
don't work at all yet), more hotplug work, documentation, and a number of
other tasks yet to be done.
SMP overhead and rwlocks. Andrew Morton has noted that a simple write test takes twice as
long on an SMP system as on a uniprocessor system. The culprit, of course,
is the extra locking overhead. Reader-writer locks (rwlocks) have been
singled out as particular problem; it turns out that they are slower than
regular spinlocks, and they tend to mask problems where locks are simply
being held for too long. There is a chance that rwlocks will be removed
before 2.6 comes out.
(
Log in to post comments)