Messages in this thread | | | From | Dmitry Torokhov <> | Subject | Re: [PATCH] VMware balloon: force compiling as a module | Date | Thu, 1 Jul 2010 15:59:59 -0700 |
| |
On Thursday, July 01, 2010 03:43:47 pm Andrew Morton wrote: > On Thu, 1 Jul 2010 15:31:50 -0700 > > Dmitry Torokhov <dtor@vmware.com> wrote: > > On Thursday, July 01, 2010 03:18:35 pm Andrew Morton wrote: > > > On Tue, 29 Jun 2010 09:40:38 -0700 > > > > > > Dmitry Torokhov <dtor@vmware.com> wrote: > > > > On Tuesday, June 29, 2010 09:28:59 am Bruno Pr__mont wrote: > > > > > On Tue, 29 June 2010 Alexander Clouter <alex@digriz.org.uk> wrote: > > > > > > Dmitry Torokhov <dtor@vmware.com> wrote: > > > > > > > VMware Tools installer requires the upstream driver to be > > > > > > > compiled as a module in order to detect its presence and avoid > > > > > > > installing our own version on top of it. To avoid surprises > > > > > > > with 2 versions of the driver being installed and fighting > > > > > > > with each other, let's force the driver to be compiled as a > > > > > > > module unless user selects CONFIG_EMBEDDED. > > > > > > > > > > > > *barf* > > > > > > > > > > > > This surely is a problem in the installer and not the kernel? > > > > > > Can you not nosey around in /sys/class/misc or where-ever your > > > > > > driver appears? If it does not, then I would probably suggest a > > > > > > patch to your balloon driver that dumps some details in there, > > > > > > including module version information. > > > > > > > > > > > > Eugh. > > > > > > > > > > In addition, the installer may check under /sys/module/ for it (as > > > > > for any/most code that can be built as a module), even for > > > > > built-in code. (if balloon driver does not show up there when > > > > > built-in it would be better to get it to show up there) > > > > > > > > When driver is built-in the only thing exported in /sys/module/XXX > > > > are module parameters. > > > > > > > > We also need to handle scenario when module is not loaded into the > > > > kernel. > > > > > > - check for the /sys/module directory. > > > > Empty. > > But the presence of the empty /sys/module/vmware_balloon tells you that > the driver is loaded? > > Confused.
No, unfortunately a kernel module that does not use module parameters is invisible when it is built in. If you check your box you will most likely not see /sys/module/evdev, /sys/module/input, and so forth.
> > > > - if that failed, modprobe the driver > > > > Succeeds since the driver name changed (we renamed it to vmware_balloon > > before submitting into mainline to avoid confusion based on our > > experience with pvscsi; the existing one in the wild is called > > vmmemctl). > > > > Now we have 2 drivers fighting. There is no backing device and so driver > > core will not save us by refusing to bind to already claimed device. > > If vmware_balloon is present in /sys/modules or is loaded, don't load > vmmemctl. And vice versa. > > I dunno - it's silly for me to sit here proposing solutions. it's > better that you do it!
Unfortunately I do not have a good solution at the moment. I guess we'll have to work with distributions to make sure they keep it as a module (it also makes most sense for them since not everyone runs on our platform).
Thanks.
-- Dmitry
| |