Subject: Fwd: [linux-elitists] Kernel-mode Linux

From: Muli Ben-Yehuda <[email-masked]>
Date: Wed, 11 Dec 2002 08:26:36 +0200

/me is rotfl
/me is considering using it 
/me is locked up and carried away by the nice man in white coats

----- Forwarded message from Seth David Schoen <[email-masked]> -----

Date: Tue, 10 Dec 2002 11:34:21 -0800
From: Seth David Schoen <[email-masked]>
User-Agent: Mutt/1.4i
To: [email-masked]
Subject: [linux-elitists] Kernel-mode Linux

http://www.yl.is.s.u-tokyo.ac.jp/~tosh/kml/

That's insane!

-- 
Seth David Schoen <[email-masked]> | Reading is a right, not a feature!
     http://www.loyalty.org/~schoen/   |                 -- Kathryn Myronuk
     http://vitanuova.loyalty.org/     |
_______________________________________________
linux-elitists 
http://zgp.org/mailman/listinfo/linux-elitists

----- End forwarded message -----

-- 
Muli

---

From: Omer Zak <[email-masked]>
Date: Wed, 11 Dec 2002 14:07:40 +0200 (EET)

The linux kernel itself is written in C sprinkled with assembly here and
there.
Why then do user programs need to be written in TAL in order to be run in
kernel mode?

We have SMP support, User-mode Linux, and now Kernel-mode Linux.  What
next?  Maybe RWS (Reduced Working Set) Linux which optimizes the
processor's cache usage?
                                             --- Omer
WARNING TO SPAMMERS:  at http://www.zak.co.il/spamwarning.html

---

From: Gilad Ben-Yossef <[email-masked]>
Date: 11 Dec 2002 14:35:02 +0200

> http://www.yl.is.s.u-tokyo.ac.jp/~tosh/kml/

This raises a number of very interesting issues regarding licensing:

Assume you are Evil Incarnated Inc. and you wish to offer some new
feature for Linux (let's take scalable distributed shared /dev/null
implementation as a random example).  This new feature requires several
changes to a normal Linux kernel and cannot be implemented as a closed
binary module. 

Up till now you could only implement the interface as an open kernel
module that implement system calls and IOCTL and write a closed binary
only user land executable to use your new fangled calls to do it's dirty
job, but you'd have to pay heavily in performance due to the user land
context execution and context switches it entails.

With Kernel Mode Linux however, you could run your closed source binary
in kernel context so you're not paying the price. Running it cannot be
constructed making a derived work by virtue of linking because normal
use of system call is not considered making derived work as per Linus
and this is stated specifically in his forward to the Linux kernel
license file.

Furthermore, the same program will run as a normal user land process and
work just as well, it'll only be slower, so you can quite easily claim
that you are distributing a simple user land program and the decisions
to run it under KLM is the end users alone. 

Note that I'm not saying that this is a bad thing. I'm just saying it
gives us all room for thought about the importance of community pressure
to not use closed source software as opposed to legal contracts. 

Personally, it makes me think once again that RMS is looking more and
more like a far looking pragmatist as opposed to the raving lunatic
zealot some people make of him.

Gilad.

-- 
 Gilad Ben-Yossef <[email-masked]> 
 http://benyossef.com 
 "Denial really is a river in Eygept."

---

From: Muli Ben-Yehuda <[email-masked]>
Date: Wed, 11 Dec 2002 14:52:23 +0200

> Why then do user programs need to be written in TAL in order to be run in

Because the potential for damage is much greater. Think of a
misbehaving application in window 95. 

I don't think TAL is a requirement, just a recommendation, a way to
deal with the inherent danger of running in kernel space wrt system
stability. 

> next?  Maybe RWS (Reduced Working Set) Linux which optimizes the

Ahhm, take a look at your favorite kernel source, you'll find gems
such as 

#define __CACHELINE_ALIGNED_IN_SMP ...

and

/* this struct's members arranged to optimize cache sharing. Don't */ 
/* change the ordering without a good reason.                      */ 

For some things, these microoptimizations actually do make a
difference.