Robert Love, Preemptible Kernel Maintainer Interviewed
Tom F writes: "LinuxDevices did an interesting interview with Robert Love, the maintainer of the Linux preemptible kernel along with MontaVista. It is an exciting read and has Robert's usual wit and insight."
Hi there. I'm CmdrTaco, one of the ruling despots here at slashdot. Earlier today I realized that I've been deeply troubled by recent events here on slashdot, more troubled than I've been willing to admit to myself. The plebs here have been making alot of noise in the last 24 hours, ever since this thread arose on the "Oracle Breakable After All" story. My attitude was the usual "fuck them all", and I thought the matter undeserving of even a moment of my time. But then a strange thing happened; I was stricken by impotence. I beat and I beat and I beat, and yet even with the aid of the very finest tentacle-rape anime divx selections available, I found myself unable to climax. Even having Hemos choke me with his belt till my face turned blue failed to do the trick. Clearly, something was terribly wrong.
And so, I went soul-searching. I thought back on the other night and the bitchslapping rampage I went on in that thread. I thought of some of the very low UIDs whom I'd smacked down, I thought about the many user moderations that me and the other editors had unjustly overturned with our unlimited mod points. I considered the outcry, the suggestions that we were ignoring the will of our own community, that we were evading a subject that desperately needs discussing, that we were acting autocratically and making hypocrites of ourselves. All these things I pondered, and I pondered long and hard. And this is what I have to say:
Go away.
When me and Hemos began this site so long ago now, we were starry-eyed small-town lovers; young, naive, and drunk on the possibility that a real revolution of sorts might be on the horizon, and that it might involve small furry animals. And so we opened up our labour of love to the world, never suspecting that it would become even half of what it has become today. Things were good, for a time.
But things change. None of you could ever understand just what it feels like, and what it does to a man, to have such a large userbase grow up under your shoddy perl scripts. Unless it happens to you firsthand, you can never truly know. They say that power corrupts, and I am here to tell you that it is true. Once, I cared. I really did. But you people... you went from being individuals, from people I could care about and chat with on #slashdot, to becoming a giant formless mass.. a formless mass seperated into factions; an army of idiots filling my inbox with crap and my RAID array with drivel. Every thread now, I'm lucky if I can find a single comment that doesn't appear to be stamped down by a dim-witted cookie-cutter of a mind. Endless parrotting, pompous bullshit, and people so one-dimensional that it is frightening. I have a secret for you: I too believe that the absurdist noise and distraction of the 'trolls' is the most worthwhile part of slashdot these days. I don't care about anything anymore, save bukkake vids and the occasional good troll.
So then, why do me and my editors censor with an iron fist? Why do we stamp every bit of humour and joy left in this place out and try to make it more and more soullessly grey with each passing day? Because I don't want to have a dialogue with you fucking plebs about the deterioration of this site, I don't want to save it; I want this failed experiment to implode upon the weight of its users' own hypocrisy and hyperbole. You say this site should be a microcosm for the free and open society of the future? Don't you see that it already is? And you wonder why it stinks of shit...
It will continue as it has. The majority of you will come regardless of what we do. I could piss on your mothers and assfuck your fathers and you'd still come to stroke your egos and share your reactionary politics with the world and to waste countless more hours of your miserable days away. The arms-race will continue. You think a bit of mass -1 Offtopics is bad? Brotha you ain't seen nothin yet. The editors will continue to be my hand-picked squad of the biggest fucking assholes I can manage to dredge up. We will continue to ignore your whinging about censorship, indeed we will ramp it up, because we don't fucking care. There will be countless more stories about the latest lame yuppie toys, the latest minor kernel revision, "look what I found in subsection 123.23.1c of this license!", and all manner of other predictable crap for you to hurl your canned responses at and exercise your dogmas on. Katz will continue to offer you his unique brand of insight until the end of time. And we, as always, could care less what you think or want. Droids and trolls alike; you will all lap it up.
You were expecting some great revelation or commitment to reform to become of this? hohohoho... as if I give a damn about the silly dramas you fools generate out of bit-patterns slapping into my DB. I was troubled, but only because I cloaked my true opinions in silence and continued to play the role of naive otaku-boy and open-source ass-puppet. Because I wasn't being honest with myself or with all of you. Now I can speak the truth, and my soul is unburdened. You may now go back to wallowing in the shit; I'm off to blow my load in Hemos' pretty pink face.
Remember this: we are only a mirror.
Thank you.
I've got questions about kernel maintainers. When would you want to put someone on the job of maintaining a kernel version?
Obviously, you want someone that knows the kernel really well and can maintain every part of it.
BUT
Aren't you taking a good developer (who can maintain every part of the kernel) away from the newer versions of the kernel?
There are only so many developers, what happens if you run out?
Instead of making their own forks, Love, Cox and Torvalds *MUST* compromise, unless they want to doom Linux to the same marginalisation that BSD suffered due to excessive politics and infighting. Corporations are already being frightened away from Linux due to the diversity of distributions available; if this excessive diversity were to spread down to the very core of the operating system, the kernel, maintaining commercial software would exceed being just difficult and become almost impossible. We can't let this happen, or else Microsoft will eat us for lunch.
His comments on the preemptive kernel patch make me want to try it out. It seems like a great idea, and from what he says, it's well-implemented.
On a side note, he's my kind of geek. At least started with Slackware, kernel hakcs and even has a girlfriend. Wow!
Moderation: Put your hand inside the puppet head!
Where do these college students get all this time to hack on the kernel? Don't they have to study at all?
Gawd, is this an AmigaTroll (tm)? Must click on "Post Anonymously"!
I'd also like to see an interview with the author of the low-latency patch as well as a comparison of the two. Bits I've read from Kernel Traffic give me the impression that people think the low-latency patch generally provides better responsiveness and scalability.
Like all true geeks, Love doesn't forget to include in his comments that, despite being a computer nerd, he does, in fact, have a girlfriend.
RL: Approximately how much time per week do you spend working on your kernel patch for Linux?
Love: My girlfriend would probably say too much. Anywhere from a couple hours a week to many hours a day.
Right now it's just a patch. But Linus has made it clear that he is unwilling (for whatever foolish reasons) to accept Love's patches. If the preempt patches become popular enough (as they no doubt will amongst those using Linux for multimedia production), it won't be long before somebody decides to fork the kernel with preemptible patches simply to make it easier to use for more people. From there, you could very quickly end up with yet another completely different operating system kernel.
If you maintain different kernels, people say "OHMYGOD we are forking we will all DIE"
If you roll changes into a kernel and make it unstable, people say "OHMYGOD production kernel's not stable we will all DIE"
RTFA and lighten up. The patches are being considered for 2.5. They haven't been ruled out.
www.eFax.com are spammers
Remember when you had to compile your device drivers into the kernel yourself instead of using a module? The idea here is that the vital OS features are part of the kernel.
The open source movement is about modifying your software and sharing it. Anyone with the ability can modify a vital OS feature and share it. voila! Many, many kernels.
But, the problem here is that real time processing does not belong in a macrokernel architechture. Look at the commercial RTOS (Real Time Operating Systems) like QNX and you will see that a microkernel architechture -- a kernel that a provides minimal feature set is favored. This is because if you are depending on time constraints, all you want in your kernel is message passing and task syncronization.
I'm supposed to be working right now.
Unfortunatly (as of 2:00 pm EST), it's seemed that kernel.org has been dead most of the day.
:-(
I'm not a prophet or a stone-age man,
I'm just a mortal with potential of a super man.
Or is that the maintainer of the preemptible kernel ;)
patch
I know it's not funny, but may cause a giggle.
Cordelia: "What's a rogue demon?"
***Quis custodiet ipsos custodes***
a quick nice -n -5 /usr/bin/X11/X helps, too.
Im joking of course but it has been down for a while. Anyone know how much this patch deals with the VM ? ,
I am asking because I am running a Rik Riel rmap-11c patch against 2.4.18pre4 and would love to try it (Rik's new VM IS SOOOOO Much sweeter than the old, I was swapping after 10 minutes with 512 megs off a standart 2.4.17, I shouldnt have been) Now I dont swap at all yet, which I shouldnt be with as littlew load,
It has improved my performance through the VM and I would love to try the preemt patch but am concerned it shares mem sctions with the VM, Anyone runnign both rmap and this ?
I could always use more speed, It is a desktop only machine.
Sig went tro...aahemmm.....fishing........
I "grew up" in the 8-bit era and recall that we used vectored interrupts to handle real-time needs. That worked extremely well with processors running at 1/1000 of today's speeds.
After reading the article, I'm left wondering why "unpreemptable kernals" were ever conceived in the first case. To lower the cost of hardware? On the "limited-access freeway" model? Or just to K.I.S.S.?
"You must try to forget all you have learned. You must begin to dream." -- Sherwood Anderson
"I certainly think Linux is an excellent desktop system (both GNOME and KDE are quite mature) but I don't see huge strides here in the coming year."
In my opinion Gnome 2.0 is the coming of age of the Linux desktop.
While there are different Linux distributions, these all use the same kernel and the same applications, usually built from the same sources. A Redhat binary will generally run fine on Mandrake or Debian or Caldera or SuSE or what have you. FreeBSD, NetBSD and OpenBSD have become completely different operating systems with vastly different userspace code. Binaries are not at all portable between the operating systems. This is a far deeper and more severe fork than Linux, and if we continue down the road of having more and more Linux kernels (as we are seeing now), soon the same deep, irrevocable split could happen to Linux as well.
Is the MS windows kernel preemptible? Does anyone know or is it top-secret?
If a kernel is preemptible, can it be used for real time process control?
Its amazing to me how many interviews this
guy manages to pull for himself. Probably
much higher rate than Linus himself. It's what
i would call Open Source PR. I wouldnt care less
if it that patch was in there; but please cut
the open source PR^FUD. Andrew Mortons patch
is more than enough.
Please forgive the ignorance, but what is a preemptive kernel as opposed to a normal kernel?
US mirror of kernel.org
"Karma can only be portioned out by the cosmos." -Homer Simpson
Alan Bawden wrote a paper on it, and it's quite a good read. His web site has a compressed .gz version, but I found an HTML version of the HTML PCLSR Paper and I quote from its abstract here:
There was also a way to put the system into a PCLSR test mode that exercised all these control points within the system calls, to help debug them. See SYSDOC TEST documentation extracted from the now decomissioned AI PDP-10 that originally served it up as ftp://ftp.ai.mit.edu/pub/alan/its/sysdoc.tgz (yes, ITS was on the Arpanet and the Internet and ran TCP/IP as well).
Not only are binaries compatable between the various BSD's, but they are compatable to Linux, several corporate Unix's and Mac OS X/Darwin as well.
It would be of _great_ assistance to yourself it you educated yourself before opening your mouth.
Mac OS X and Windows XP working side by side to fight back the night.
Not only do we hear about yet another Linux distro (for the week) but yet another Linux Kernel Version!
Is n't he the same bastard that had trouble with the linux licenses or that a different person
Yes, Brazill is a third world country. A large percentage of their population does not have electricity or running water. Millions of Brazillians (i.e. black, ex-slave) live in extreme poverty. Only the rich in Brazill (like other all other third would countries) has a decent standard of living. You need to get your facts straight. Jared
I know Solaris preempts - 1ms latency in my tests - even on a low-end desktop sparc box.
I'm ignorant of this fact... but it almost sounds to me like having a pre-emptible kernel is one of the 'featues' of a MicroKernel --
Although I'm fully aware of the fact Linux is NOT a MicroKernel, what significant differences exist between Pre-Emptible Linux and a MicroKernel Linux?
(Aside from the fact that all of the Linux kernel, drivers, etc. is in 'kernel' mode, and a MicroKernel has only the message-passing and task-scheduling in 'kernel' mode, and everything else (drivers, etc.) run in 'user' mode.)
-- Sometimes you have to turn the lights off in order to see.
You have hit the nail on the head. I wish I could mod it up. I'm amazed that people "don't have time" to practice their chosen craft.
The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...
Linux is heading even further away from the compiled-in drivers and to a more modular kernel. According to LWN [lwn.net], Alan Cox said that Linux 2.6 will not have compiled-in drivers. "Compiled-in" drivers will just be modules that are written to the "initramfs", a sort of software boot disk compiled into the kernel.
From: Alan Cox
To: babydr@baby-dragons.com (Mr. James W. Laferriere)
Subject: Re: ISA hardware discovery -- the elegant solution
Date: Mon, 14 Jan 2002 18:08:32 +0000 (GMT)
Cc: alan@lxorguk.ukuu.org.uk (Alan Cox), esr@thyrsus.com, cate@debian.org (Giacomo Catenazzi),
linux-kernel@vger.kernel.org (Linux Kernel List)
> Hello All , And what mechanism is going to be used for an -all-
> compiled in kernel ? Everyone and there brother is so enamoured
> of Modules . Not everyone uses nor will use modules .
For 2.5 if things go to plan there will be no such thing as a "compiled in"
driver. They simply are not needed with initramfs holding what were once the
"compiled in" modules.
cpeterso
You just don't seem to see the forest from the trees. I'm working for a major IT company and I get to see the rapid growth of Linux usage every day. More and more customers are *demanding* Linux solutions.
Well, you gotta restrict your sleeping time to, say 3.5 hours/day. That's how I handle the problem. I got a regular job and it seems 3.5 hours sleep is enough for me. I can still manage my job well. On the weekends I use to sleep like 12 hours/night.
For those that don't really understand the importance of preemptive multitasking (and from reading some comments, there are a few of you out there :-O), let's explain this through an example.
:-)
Consider application (a) that wants to read 128MB of data from the disk and application (b) that wants to read 1KB of data.
Let's say that the disk transfers @ 1MB/sec and let's assume application (a) issues the read 1 second before application (b) is started.
The sequence of calls for each app will look something like this:
1) program calls read
2) read is handled by the top level file system and is handed down to the proper file system
3) the file system calls the block device
4) the block device driver breaks up the request into the maximum block size the device can handle per request (for example 256 sectors for IDE)
5) for every request, the block device sends request to physical drive
6) drive transfers data to host
7) drive indicates 'done'
8) goto 5 until done
9) file system returns
10) read returns
It's important to know that there may be limitations on the number of requests any stage can handle simultaneously. For example, an IDE drive can only handle one request at a time. Some Operating Systems however introduce even tighter restrictions, because for example the block device driver was written, assuming only one request at a time would be allowed.
Take for example an OS where the kernel assures that no more that one request is pending between step 3) and 9).
This would have the following effect on our apps: app (a) is allowed to call step 4) because it is the first request. One second later, app (b) arrives at step 3) and is blocked. It is not allowed to enter step 4) until app (a) is done and passes step 9). Effectively this means that app (b) has to wait for 127 seconds before it gets access to step 4).
Now consider an OS where the file system and drivers can handle multiple requests. It still has to assure that the physical drive receives only one request though, so it permits only access of one app between step 5) and 7). App (a) arrives at step 5) first, so it gets to start sending requests to the drive. One second later, app (b) arrives at step 5) and has to wait for app (a) to finish it's current request to the drive. As soon as this request is done though, app (a) gets to step 8). Now we have both app (a) and app (b) wanting to have access to step 5). Depending on the scheduler either one will be granted access. There's a good change that app (b) will get access, and thus it only had to wait the time it took for app (a) to finish it's outstanding request, which takes max 1/8th of a second (256 sectors = 128KB) in this example.
Btw. you may notice though that there's more likely to be an (expensive) seek introduced by allowing app (b) to interrupt the transfer of app (a)
You can see how moving the 'lock' deeper in to the OS improves responsiveness. I'm not going to start a flame war about which OS is better, all I will say is that MY OS locks steps 5) through 7)
Chapter 1: Bowel Movement: Part 1 Rectum
It has been known for sometime that Raster and Mandrake had it "in" for each other. Long before the days of E Mandrake had been smoking dope and droping a few here and there.
Raster's maddness began in the bowels of Austrila. Already Diagoned a sczho, the drugs took effect. Before long Raster learn to code. After several stabs and pokes with a pointy stick. Raster known by some as the inane blabling drunk spaindard. Also Known as Betty, but that is another story.
With Robert Love at KernelTrap
And another one with John Levon (OProfile) where he discusses the patch. (at the end of the interview)
For me, these 2 interviews offer more insight than the interview in the article. Especially the comment from Levon that this patch is really just a "band-aid"...and that the real problem lies in fixing the kernel.
> Like all true geeks, Love doesn't forget to include in his comments that, despite being a computer nerd, he does, in fact, have a girlfriend.
WhoTF cares if he has one or not? Are (other) geeks jealous because he has one, and they don't?
I care about the quality of his code, not about his love life.
dinosaur comics
"RL: You have been becoming well known as the maintainer of a "preemptible kernel patch" for the Linux kernel. How did that situation come about?"
"Love: Well, RL, you start with a group of people who are more than willing to brag that they know who maintains the 'preemptible kernel patch' but feel no need whatever to know what the hell that even is
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
sorry, some idiot was bound to ask, so I figured I would be today's idiot!
Actually, no. I worked at the MIT AI lab during this period, and was in charge of EMACS on the PDP-10 series (for ITS and TOPS-20) after RMS moved on to start the GNU project.
TECO was developed for the PDP series. The PDP-6 and 10 were the systems that ran ITS. EMACS was a package of TECO macros; there were others, RMACS and TMACS for example. RMS and others maintained EMACS, and it became the lead, and eventually it took on a life of its own.
After RMS stopped working on PDP-10 software and was fully engaged on the GNU project, I was in charge of PDP-10 EMACS. There were a variety of other EMACS clones on Unix, small and large, but they all had various extensibility problems (i.e., had to be recompiled) or licensing problems (i.e., you had to buy them). RMS started with one or the other of them and fixed both the licensing and extensibility problems, and everybody knows it all from that point.
RMS did not write TECO, and EMACS was not first on Unix.
Besides that, it an Indian or African developer wanted to contribute, they could do so. That's the beauty of it all. Oh, and how many of them do? Well, that's probably why Linus hasn't appointed them to be maintainers.
You really don't keep track of anything beyond your state lines do you? There are quite a number of Indian _and_ African developers contributing (Me being one). Perhaps if you drove out further than your local grocery store you might actually meet interesting people out there.
signal(SIGPHB, SIG_IGN);
He just doesn't want to be killed in the rush.
;)
Working for necessity's mother.
You find something wrong with something in your life, you discuss and then bitch about it for a little while, you find that not everyone else agrees with you and/or the people who own and run the system you're using for free don't want to change anything, and what do you decide to do?
Continue in an adult manner to keep a dialog open in the permitted channels and convince the people around you of your opinion?
Leave and go somewhere else where you can form a community with the rules you want, helping create something useful (in your opinion) for the world?
No, you choose to attempt to destroy this community. The one the rest of us are happy with and trying to enjoy.
Thanks a bunch-a-roonie!
And *then* you're all suprised and hostile when you discover that you've made some enemies?
Do you do this with everything else you disagree with? Just how the hell do you get along in real life, where the democratic process and living with the decisions made by the millions of other people around you don't always agree with your little view of the world?
Morons. Good riddance.
Ever since this blew up, I've been meta-moderating like mad. I hope lots of other people get involved and help prevent these childish idiots from getting the upper hand.
(I read through all the stories at Kuro-Shin yesterday. What a load of immature goofs and paranoid conspiracy theories! Ahhahahhhahhaha!)
A temper tantrum.
That's what their behaviour reminds me of.