PROgRAMMIng Kernel News zack’s kernel news m68k Revitalized Under git Controlling Tracepoints nilfs2 Headed For Inclusion Geert Uytterhoeven announced a new git Steven Rostedt has posted a patch to Ryusuke Konishi has submitted nilfs2 for repository for the m68k port, replac- , providing a simple interface for inclusion in the main kernel tree. Up to ing a defunct CVS repository. He also users to enable and disable any trace- now, it has lived in Andrew Morton’s posted a patch to add a make install com- point that already exists in the kernel. -mm tree. As Andrew has said, Konishi’s pilation target for the m68k build and The new /debug/tracing/available_ efforts have been quite impressive, and posted several other m68k updates as well. events file lists all tracepoints available he’s offered him some advice for further for tracking, whereas the /debug/tracing/ development. Andrew strongly supports MSI HOWTO Rewrite set_event can be modified to list the the filesystem and plans to send the Matthew Wilcox has rewritten the MSI events you want to enable or disable. patches along to Linus Torvalds in the HOWTO, the first major rewrite since very near future, barring serious objec- 2004. MSI (or Message Signaled Inter- AMD Performance Counting tion from other kernel hackers. nilfs2 rupts) provide PCI devices with an alter- Jaswinder Singh Rajput posted some provides full versioning within the file- native to traditional interrupts that re- patches to implement performance system, including continuous snapshot- quire the existence of a hardware pin on counting for AMD K7 (and later) proces- ting and access to older snapshots. the device. MSI lets the device trigger an sors. The patches count CPU cycles, interrupt simply by writing data to a spe- number of instructions, clock ticks, page From Og cific memory address. Randy Dunlap and faults, context switches, and various I had to include the following email in Sitsofe Wheeler offered some feedback other items. Ingo Molnár was very full: on the prose, and Matthew updated the pleased with these patches and tested Og here. doc because of it. Grant Gundler and Mi- them, offering some bug reports that Jas- Greg run off to big hill with chael Ellerman had more technical feed- winder was quick to respond to. white stuff. back, which they discussed with Mat- He leave corn bits and paper. thew. Ultimately it looks as though this is Clearer KBuild State When a welcome rewrite, with all in favor. Viewing Help Corn bits have many num-bers. Cheng Renquan has made some im- 2 corns. provements to KBuild. The main user- Num-ber on one corn is 2.6.27.19. The Linux kernel visible change is to present the currently Num-ber on one corn is 2.6.28.7. mailing list com- selected value for any given option visi- Paper have 1 wurd. prises the core of ble from that option’s help message. Linux development Randy Dunlap helped him debug some Paper say "Update!" activities. Traffic vol- technical problems but, overall, felt the Og no no what paper meens. umes are immense, features were important additions to Corn only good for wood-chuck. Why often reaching ten KBuild. Greg care about corn? thousand messages Og con-fus-ed. in a given week, and Improving PCI Detection keeping up to date Og done. As part of a broader swath of PCI with the entire scope of development is patches, Alex Chiang has written some Linus Torvalds replied, “I’m happy to see a virtually impossible task for one per- code to create /sys/bus/pci/rescan. Writ- that we have sunk to a whole new level son. One of the few brave souls to take ing a non-zero value to that file will of professionalism. And imagine that on this task is Zack Brown. force a rescan of the PCI buses on the people ever doubted that open-source Our regular monthly column keeps you abreast of the latest discussions and de- system and rediscover any previously re- could ever be mission critical! Ha!” cisions, selected and summarized by moved PCI devices. Alex also wrote Zack. Zack has been publishing a weekly companion code to create /sys/bus/pci/ Official git Repository online digest, the Kernel Traffic news- devices/ ... /rescan, which forces a res- Until now, Linus Torvalds has been letter, for over five years now. Even can of a device’s parent bus and child listed in the MAINTAINERS file as the reading Kernel Traffic alone can be a buses and rediscovers any devices that maintainer of all kernel things not other- time-consuming task. had previously been removed from that wise maintained, but his git repository Linux Magazine now provides you with part of the device tree. He also created / wasn’t listed. Joe Perches recently the quintessence of Linux kernel activi- sys/bus/pci/devices/ ... /remove, which posted a patch adding git://git.kernel. ties, straight from the horse’s mouth. removes the PCI device and any of its org/pub/scm/linux/kernel/git/torvalds/li- children. nux-2.6.git to that entry.

66 ISSUE 103 JUNE 2009 Kernel News PROgRAMMIng

What Is Staging? Greg Kroah-Hartman recently offered The value of putting code into staging when executed (i.e., it’ll print a message some clarification on the nature of the is that it exists in the main kernel tree; saying it ran code from staging). “Staging Tree” because its role had therefore, it has the full universe of ker- Bug reports from a tainted kernel will changed; also, there seemed to be some nel users available to test it while pre- be less likely to find folks willing to confusion about it. senting minimal danger to kernel stabil- debug them. If you’re working on code The staging tree, he explained, was ity. It answers a need that has been ad- in staging, this puts most of the onus on the drivers/staging directory in the offi- dressed in a variety of ways through the you to debug it yourself, and if you cial kernel. Code submitted to that direc- years: How can developers get their think the bug wasn’t triggered by your tory in the linux -next git repository code tested by enough users to make it code, you should reproduce it on an un- would be fed directly to Linus during the acceptable in the main tree before it ac- tainted kernel and submit the report. merge window and would be included in tually goes into the main tree? Then, you’ll find plenty of willing hack- the next official kernel release with little The restrictions placed on projects ers to help you. or no objection from him. going into staging are to make sure that All of this is by way of isolating stag- Appropriate projects for staging are all code preserves kernel stability and is ing development from the rest of kernel drivers and filesystems that require no moving in a direct line toward migrating development. As a developer of staging code changes anywhere else in the tree out of staging and into its proper loca- code, you benefit from an audience of (i.e., they are standalone patches). The tion in the official source tree. Therefore, potentially millions of users, but the re- only exceptions to this are: firmware can any project going into staging should be sponsibility of dealing with reports from (and should) live in the firmware direc- well maintained, either by the person those users, as well as the behavior of tory, symbols may be exported from the submitting it or by a volunteer who’s your own code, lies with you. main kernel code if the relevant subsys- willing to “babysit” the code. Staging is To me, this seems like a really elegant tem maintainer approves, documenta- not a place to “dump code and run solution to a problem that has stymied tion may live in the Documentation di- away,” as Greg puts it. Any code that kernel developers for years; no doubt rectory, although that is frowned upon. lives in staging will taint the kernel logs it’ll be improved as time goes by.

Linux Magazine Exclusive

JUNE 2009 ISSUE 103 67