Soft updates, hard problems
This is a free link; if you like the article, please consider subscribing to LWN. You'll still need an account if you want to make snide comments on the article. :)
| Castle Romeo test, Bikini Atoll, 1954, 11 megatons |
Submissions to Linux Plumbers Conference 09 are now closed.
Thank you to everybody who submitted - we had an overwhelming response! Author notification will go out July 15th. Whether you’re presenting or not, we hope to see you at the conference - our success is as dependent on the participants as the presenters - our goal is to move code forward!
Submissions to the Linux Plumbers Conference are now closed.
by linuxplumbers (Linux Plumbers Conf) at June 23, 2009 04:31 AM
I wanted to express my best wishes and hope for the safety of those
who are in danger.
Especially to the GNOME Farsi community in Iran, we are all hoping for your
continued safety during this upheaval. Please be safe.
re:Twitter -
The wonderful thing about twitter is that they can communicate their
stories and experience in such a profound way. I find myself glued
to the screen to see how things are unfolding in Iran. I’ve been
following the news on Andrew Sullivan’s blog site which gives up
to date information of what is happening in Iran.
edit: fixed broken link.
So I’ve been meaning to put a post on this but I haven’t had a chance thanks to school and what not. Having finished my exams and projects, I thought I would put in a word or two regarding the other thing I’ve been busy with and that is the Linux Plumbers Conference. This is my second year in a row in being part of the organizing committee of Linux Plumbers Conference!
Linux Plumbers Conference is one of those small conferences organized by developers for developers and thus have a highly technical focus. As a bonus, it’s held the same week as Linuxcon so you can get your taste of the O’Reilly type conference as well if laundry is an issue. :-) The goal is to improve the Linux platform, targetting the weaknesses and improving them. Last year we had the fast boot by Intel which started a distro war over boot time. and we had a piece of X put into the kernel, so things happen at this conference.
We are currently looking for paper submussions. Have an idea for the desktop but you need kernel developer support? This is your chance! Thanks to Jim Gettys to being our runner for the UI track. So if you have ideas that will help advance the Linux platform/ecosystem. Please submit your ideas! The conference is in Portland, OR Sept 23-25, 2009. I hope to see a lot of you there. As many can attest, Portland is an awesome city with some of the coolest people on the planet living here.
UPDATE: Deadline submission extended to midnight, June 22nd, PT.
If you haven’t submitted yet, you’ll need to get cracking! Submissions close at midnight, June 22nd, PT.
The latest update cross posted from LWN:
Please submit your abstracts using the “Submit a proposal” button on the right.
We now have runners for additional tracks:
1. Inter-Distributor Cooperation: James Bottomley
2. Kernel/Userspace/User Interfaces: Jim Gettys
3. Networking: Steve Hemminger
4. Storage: Matthew Wilcox
In addition, we have the runners announced earlier:
1. Security: James Morris and Paul Moore
2. Boot and Init: Dave Jones
3. X Window System: Keith Packard
4. Embedded Systems: Greg Kroah-Hartman and David Woodhouse
5. Audio: Lennart Poettering
Other topics are of course welcome in the General track. The perfect Plumbers topic would feature a real problem whose solution requires the relevant community members to get together face to face, preferably producing a solution during the conference itself. This of course requires buy-in from maintainers and other high-profile people active in the area.
We have an exciting program shaping up! Tutorials include an advanced git tutorial from Linus Torvalds. Keynotes include Vivek Kundra, Federal CIO, live via video with real time Q&A (invitee, to be confirmed), and Keith Packard, Intel, X Window guru.
So, to be part of the excitement, please submit your abstracts by Monday June 22nd!!!
This documents my personal flow for downloading and installing a Linux kernel with my xHCI and USB 3.0 code. Until the code is in the upstream kernel and shipping in Linux distributions, you'll have to follow these directions to get Linux USB 3.0 support.
rcu_barrier() function was described some time back in an article on Linux Weekly News. This rcu_barrier() function solves the problem where a given module invokes call_rcu() using a function in that module, but the module is removed before the corresponding grace period elapses, or at least before the callback can be invoked. This results in an attempt to call a function whose code has been removed from the Linux kernel. Oops!!!Since the above article was written, rcu_barrier_bh() and rcu_barrier_sched() have been accepted into the Linux kernel, for use with call_rcu_bh() and call_rcu_sched(), respectively. These functions have seen relatively little use, which is no surprise, given that they are quite specialized. However, Jesper Dangaard recently discovered that they need to be used a bit more heavily. This lead to the question of exactly when they needed to be used, to which I responded as follows:
Unless there is some other mechanism to ensure that all the RCU callbacks have been invoked before the module exit, there needs to be code in the module-exit function that does the following:What other mechanism could be used? I cannot think of one that it safe. For example, a module that tried to count the number of RCU callbacks in flight would be vulnerable to races as follows:
- Prevents any new RCU callbacks from being posted. In other words, make sure that no future
call_rcu()invocations happen from this module unless thosecall_rcu()invocations touch only functions and data that outlive this module.- Invokes
rcu_barrier().- Of course, if the module uses
call_rcu_sched()instead ofcall_rcu(), then it should invokercu_barrier_sched()instead ofrcu_barrier(). Similarly, if it usescall_rcu_bh()instead ofcall_rcu(), then it should invokercu_barrier_bh()instead ofrcu_barrier(). If the module uses more than one ofcall_rcu(),call_rcu_sched(), andcall_rcu_bh(), then it must invoke more than one ofrcu_barrier(),rcu_barrier_sched(), andrcu_barrier_bh().
- CPU 0: RCU callback decrements the counter.
- CPU 1: module-exit function notices that the counter is zero, so removes the module.
- CPU 0: attempts to execute the code returning from the RCU callback, and dies horribly due to that code no longer being in memory.
If there was an easy solution (or even a hard solution) to this problem, then I do not believe that Nikita Danilov would have asked Dipankar Sarma for
rcu_barrier(). Therefore, I do not expect anyone to be able to come up with an alternative torcu_barrier()and friends. Always happy to learn something by being proven wrong, of course!!!So unless someone can show me some other safe mechanism, every unloadable module that uses
call_rcu(),call_rcu_sched(), orcall_rcu_bh()must usercu_barrier(),rcu_barrier_sched(), and/orrcu_barrier_bh()in its module-exit function.
call_rcu() functions, please use the corresponding rcu_barrier() function in the module-exit code!Update: Peter Zijlstra rightly points out that the issue is not whether your module invokes call_rcu(), but rather whether the corresponding RCU callback invokes a function is in a module. So, if there is a call_rcu(), call_rcu_sched(), or call_rcu_bh() anywhere in the kernel whose RCU callback either directly or indirectly invokes a function in your module, then your module's exit function needs to invoke code>rcu_barrier()</code>, rcu_barrier_sched(), and/or rcu_barrier_bh(). Thanks to Peter for pointing this out!
The xHCI (USB 3.0) host controller driver and initial support for
USB 3.0 devices is now publicly available on my kernel.org git
tree. Greg K-H has queued the patches for 2.6.31, so Linux users should
have official USB 3.0 support around September 2009. This is impeccable timing,
since NEC recently announced they'll be producing
1 million xHCI PCI express add-in cards in September.
This means that Linux will be the first operating system with official USB 3.0 support. I'm working with Keve Gabbert (the OSV person in my group at Intel) to make sure that Linux distributions like Ubuntu and Red Hat pick up the xHCI driver. Advanced users can always compile their own kernel on a standard distro install.
I hope that some USB 3.0 vendors who have prototypes will test with my driver. Instructions on how to compile a kernel using my git tree will follow.
This is a giant project that I've been working on for the past year and a half. It's gratifying to see the code finally released, and exciting to know that hardware is on its way.
by Linux Network Plumber (noreply@blogger.com) at June 05, 2009 10:00 PM
This is a status report for the Linux Driver Project as of June 2009, describing what has happened in the past year of work. It was originally posted on the Linux Driver Project developer mailing list.

pthread_rwlock_t,rwlock_t.N threads divided by N times the acquisitions per unit time for a single thread. Ideal scaling would give 1.0.So here’s the news – we’ve invited Vivek Kundra, Federal CIO to keynote at LPC, and we hope he can make it! This should be really interesting. If he makes it, it will be via a remote, interactive, real time video session. If you have any suggestions or questions for Vivek Kundra, or how the LPC team should set this up, feel free to post comments here or on our LPC blog!

Nisha and I started seriously looking at getting a house recently. It being the 21st Century means large amounts of our house hunting time will be spent on the Internet; specifically rmlsweb.com a regional real estate listing service.
A huge annoyance with the site is that it uses a pretty lame mapping service called “GeoJet” which generates horrible looking maps.
Naturally, I started Googling for Greasemonkey scripts to find out if someone had fixed this already and sure enough my friend Kees Cook had written a user script in 2006!
With a little modification I got it working great with the new RMLS site. You can find it at git://ifup.org/philips/rmls-mapper.git or install the latest version now!
I’m doing a lot of things this year – and for the hundredth time, I find myself discarding my previous life and blogs and starting anew.
Last October, in a chocolate-induced haze of post Halloween self-satisfaction, I somehow thought it would be a good idea to volunteer to run the Linux Plumbers Conference in 2009. Portland continues to host the event, which makes it possible for me to help out, along with an extraordinarily strong local Linux development and business ecosystem. Last year’s crew did a heck of a job creating the event for the first time. We’re coasting on their toil and troubles, this year, frankly.
Despite the continual incoming dripdripdrip of somber economic news, tightening budgets, market collapses, layoffs, disappearing finances and individual anxieties, we are somehow crafting together what will be a rather interesting and productive conference.
The outstanding news today was we got a lot closer to signing up another big name for our keynote! It won’t get announced anytime soon, unfortunately, but it will be fantastic if we can get them. We have already lined up Keith Packard, X Window genius and all round great guy to give one of the keynote addresses.
We will also have Linus giving an advanced tutorial on git. It pains me to impose on Linus, but I’m personally very grateful that James Bottomley did the heroic arm-twisting for us. After losing the video of Linus’s git tutorial in 2008, we badly wanted a chance to reassemble our dignity and geek cred.
If you’re a Linux developer in Portland, OR (or for that matter, anywhere else), what are you waiting for? Register already!
Linux Plumbers Conference will run from Sept 23-25 in 2009 at the Downtown Portland Marriott.

Open source conference prerequisite #1: Space for hacking - Open Source Bridge
I just found out about the conference and its hackerspace element via Reddit. How did I miss this up until now?
The hackerspace idea is obviously one I’m interested in. I have my own proposal for one, but tailored less of a 24-hour space for random hacking encounters, and more as an un-office to give remote-working people an in-person community of peers.
Definitely we have all realized that as great as online interaction can be, being in a room still cannot be duplicated.

Originally published at Groveronline. Please leave any comments there.
The 2.6.29 kernel release is now out, and if you look closely, there are a number of drivers for the Android platform merged in, starting with this patch.
Yes, there's still a lot to go, like cleaning up the user/kernel interfaces, and prodding the core Android developers to start working upstream more, which they have already started to do. It's a great start, and one that I hope will succeed overall, as it really is a nice system to develop for, and one the phone manufacturers have been asking for from the Linux community, for years.
And besides, how can you not like such a cute robot:

Originally published at Groveronline. Please leave any comments there.
by Linux Network Plumber (noreply@blogger.com) at February 18, 2009 05:51 AM

Linux Plumbers 2009 coming soon
The Linux Plumbers Conference focuses on a collection 2.5 hour microconferences that gather experts together to discuss and develop solutions to emerging problems that affect the Kernel, libraries and supporting system daemons that make Linux Linux. Last year there were six of these focused microconference on topics including: audio infrastructure, power management, and boot.
Many of the most successful microconference topics were suggested by community members not directly involved in planning the conference.
So, I need your help for 2009!
Head over to the Call for Topics and suggest an emerging topic in the Linux plumbing that we should discuss in 2009. Topics ideas can be submitted in the comments section of the LWN.net article.
for real.
I couldn’t have been happier with how the Linux Plumbers Conference went last week. I went back and looked at the original proposal that we had Arjan, Greg, and Randy present to the Linux Foundation, and we seem to have hit all our original goals. From conception we wanted this to be a “working” conference – and from the conversations in the hallways that I overheard, to the discussions in the microconfs that went on, I could see that people were indeed getting together, discussing issues and solving problems. Conferences require a lot of time, effort, and money to do right, and it’s gratifying to feel that something useful will come out of this.
I think that now I can go back to blogging about duck poo and vegetables.
After spending a few days manning the Plumbers booth at OSCON, I thought I’d post the answer to the question that everyone seemed to want to know – What is a Linux Plumbers Conference? We came up with the word “Plumbing” to describe the low level infrastructure of a Linux System. This includes the Kernel, desktop infrastructure like X and graphics libraries, system utilities like udev and hal, as well as essential libraries like glibc and friends. These components interface with each other at times – some better than others. We hope to provide a forum for people from these types of projects to get together and try to solve problems that are system wide or cross multiple project boundaries.
In addition to the topics to be discussed in the microconfs and the general talks (see http://linuxplumbersconf.org/program/schedule/), we will have “unconference” style talks. We have several smaller rooms available for people to get together and work out specifics, talk about something they didn’t get on the schedule, or have a group hug. These rooms can be reserved at the start of the conference.
August 18th the registration fee for Plumbers will increase to $300. If you haven’t already registered, what are you waiting for?