Stop the Linux kernel madness
Quoted 4 lines · Andrea Arcangeli
To make the last recent example we had to break the source API with the drivers to fix the
release_pagesrace that Andrew found and fixed in mainline too. That changespage->countintopage->_countand quite some drivers broke even outside the kernel. I had the choice of not breaking
FYI, vmware modules broke during your change because 2.4.20-xx kernels from RedHat moved page_count() from linux/mm.h to linux/mm_inline.h, and made it unavailable for non-GPL modules. So we had to do
#ifndef page_count
#define page_count(p) (p)->count
#endif
and this #ifndef test was broken by making page_count inline function.
But I'd like to publicly thank you for your effort, I really appreciate it.
Best regards,
Petr Vandrovec
On Tue, 2004-06-22 16:38:15 +0200, Petr Vandrovec <[email protected]> wrote in message <[email protected]>:
Quoted 11 lines · Andrea Arcangeli
FYI, vmware modules broke during your change because 2.4.20-xx kernels from RedHat moved
page_count()fromlinux/mm.htolinux/mm_inline.h, and made it unavailable for non-GPL modules. So we had to do#ifndef
page_count
#definepage_count(p)(p)->count
#endifand this #ifndef test was broken by making
page_countinline function.
Just merge the vmware modules upstream. Then, such breakage will be detected early and probably fixed without putting a lot of work into it (from your point of view).
MfG, JBG
Signature · 4 lines
Jan-Benedict Glaw [email protected] . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Quoted 3 lines · Jan-Benedict Glaw
Just merge the vmware modules upstream. Then, such breakage will be detected early and probably fixed without putting a lot of work into it (from your point of view).
a) vmware modules themselves aren't under a free license
b) even if they were there's not really much interest in modules that can't work with non-free userspace
On Tue, 2004-06-22 18:32:15 +0100, Christoph Hellwig <[email protected]> wrote in message <[email protected]>:
Quoted 6 lines · Jan-Benedict Glaw
Quoted 3 lines
Just merge the vmware modules upstream. Then, such breakage will be detected early and probably fixed without putting a lot of work into it (from your point of view).
a) vmware modules themselves aren't under a free license
That can be changed.
Quoted 2 lines
b) even if they were there's not really much interest in modules that can't work with non-free userspace
...as well as this issue. They'd get some (limited but sufficient) free maintainence for their software back. See? No technical issues 8^P The very same could be said about 4Front's OSS drivers.
MfG, JBG
Signature · 4 lines
Jan-Benedict Glaw [email protected] . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Quoted 10 lines · Jan-Benedict Glaw
On Tue, 2004-06-22 18:32:15 +0100, Christoph Hellwig <[email protected]> wrote in message <[email protected]>:
Quoted 6 lines · Jan-Benedict Glaw
Quoted 3 lines
Just merge the vmware modules upstream. Then, such breakage will be detected early and probably fixed without putting a lot of work into it (from your point of view).
a) vmware modules themselves aren't under a free license
That can be changed.
Yes.
Quoted 6 lines
Quoted 2 lines
b) even if they were there's not really much interest in modules that can't work with non-free userspace
...as well as this issue. They'd get some (limited but sufficient) free maintainence for their software back. See? No technical issues 8^P The very same could be said about 4Front's OSS drivers.
I doubt. I emailed with Alan Cox back in 2000 (when VMware 2.0 was to be released), and he told me that there is no way vmmon & vmnet could find its way into kernel, regardless of license we'll pick.
We do not have to go for examples very far - bochs currently does not provide any networking backend which would work like real network card, without any restrictions on MAC addresses, host-guest or guest-guest communications. Patch to get it to work over vmnet's interface was task for half of one afternoon. Would that change opinion of peoples who accept only free software? I doubt...
So for now it will probably stay way it is - updates are semi-regullary distributed from my site, some distros picks them up and repackage for their customers, and everybody is happy that it more or less works.
Best regards,
Petr Vandrovec
Quoted 5 lines · Jan-Benedict Glaw
On Tue, 2004-06-22 18:32:15 +0100, Christoph Hellwig <[email protected]> wrote in message <[email protected]>:
Quoted 2 lines · Jan-Benedict Glaw
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Just merge the vmware modules upstream. Then, such breakage will be detected early and probably fixed without putting a lot of work into it (from your point of view).
a) vmware modules themselves aren't under a free license
That can be changed.
Whatever it is that VMware needs in the kernel can probably be generalized in some way that makes it useful to other things (like Win4Lin) and then merged into mainline.
Quoted 3 lines · Timothy Miller
Whatever it is that VMware needs in the kernel can probably be generalized in some way that makes it useful to other things (like Win4Lin) and then merged into mainline.
We already have drivers/net/tun.c thaqt works nicely with Hercules and MoL for me, but I guess the vmware folks want some additional deep magic.
Quoted 7 lines · Christoph Hellwig
Quoted 3 lines · Timothy Miller
Whatever it is that VMware needs in the kernel can probably be generalized in some way that makes it useful to other things (like Win4Lin) and then merged into mainline.
We already have
drivers/net/tun.cthaqt works nicely with Hercules and MoL for me, but I guess the vmware folks want some additional deep magic.
Unless I missed something, there can be only one userspace reader/writter attached to the device, while vmnet works like real network segment to which you can connect any number of userspace processes, and each of processes gets only packets which are targeted for it (as each process has its own MAC address). And vmnet interface does not have to have any representation in host's networking (it can be used just as a channel for communication between two VMs), which is important if your guests are running potentially dangerous code, like network worms.
vmnet module actually provides tun-like character device, but with several differences:
* You can connect any number of userspace processes to it.
* You can connect kernel end to nothing (complete guest-host separation), or
* You can create new network device for kernel end (you'll route between guests and real world) or
* You can attach this character device to some existing network device, creating "bridge".
Of these features tun supports only third (creating new kernel network device), and with help of "normal" bridge also fourth. Correct me if I'm wrong.
Best regards,
Petr Vandrovec
Quoted 18 lines · Petr Vandrovec
Quoted 7 lines · Christoph Hellwig
Quoted 3 lines · Timothy Miller
Whatever it is that VMware needs in the kernel can probably be generalized in some way that makes it useful to other things (like Win4Lin) and then merged into mainline.
We already have
drivers/net/tun.cthaqt works nicely with Hercules and MoL for me, but I guess the vmware folks want some additional deep magic.Unless I missed something, there can be only one userspace reader/writter attached to the device, while vmnet works like real network segment to which you can connect any number of userspace processes, and each of processes gets only packets which are targeted for it (as each process has its own MAC address). And vmnet interface does not have to have any representation in host's networking (it can be used just as a channel for communication between two VMs), which is important if your guests are running potentially dangerous code, like network worms.
Quoted 4 lines
vmnet module actually provides tun-like character device, but with several differences:
* You can connect any number of userspace processes to it.
* You can connect kernel end to nothing (complete guest-host separation), or
These can be done purely in userspace - a daemon can exchange the data between the processes (VMs).
Quoted 2 lines
* You can create new network device for kernel end (you'll route between guests and real world) or
This can be done with tun, preferably opened by the abovementioned daemon.
Quoted 2 lines
* You can attach this character device to some existing network device, creating "bridge".
And this is IMO pretty ugly to do. It is probably needed to get NetBEUI working between the VM and real network.
Quoted 2 lines
Of these features tun supports only third (creating new kernel network device), and with help of "normal" bridge also fourth. Correct me if I'm wrong.
Signature · 2 lines
Vojtech Pavlik SuSE Labs, SuSE CR
Quoted 7 lines · Vojtech Pavlik
Quoted 4 lines
vmnet module actually provides tun-like character device, but with several differences:
* You can connect any number of userspace processes to it.
* You can connect kernel end to nothing (complete guest-host separation), orThese can be done purely in userspace - a daemon can exchange the data between the processes (VMs).
... as UML already does it, anyway. I'm pretty sure the various methods UML uses are quite applicable to VM too.
Sincerely,
Lars Marowsky-Brée <[email protected]>
Signature · 3 lines
High Availability & Clustering \ ever tried. ever failed. no matter. SUSE Labs, Research and Development | try again. fail again. fail better. SUSE LINUX AG - A Novell company \ -- Samuel Beckett