Re: [RFC/PATCH] unregister_node() for hotplug use

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Keiichiro Tokunaga wrote:
> On Mon, 09 May 2005 15:44:03 -0700 Matthew Dobson wrote:
>>Is there a reason to not make both register_node() and unregister_node()
>>__devinit?  If a user has CONFIG_HOTPLUG=y then they want these functions,
>>otherwise there is no point, as they promised they won't be hotplugging
>>anything, right?
> 
>   The main reason is Greg advised me that we had the function
> no matter if CONFIG_HOTPLUG is true or not.  An addtional
> advantage of this is that the source becomes cleaner because
> I included unregister_node() with '#ifdef CONFIG_HOTPLUG' and
> '#endif' in my previous version of patch.
> 
> Thanks,
> Keiichiro Tokunaga
> 

You're referring to this comment:

On Thu, 21 Apr 2005 17:39:20 -0700 Greg KH wrote:
>> And hey, what's the real big deal here, why not always have this
>> function no matter if CONFIG_HOTPLUG is enabled or not?  I really want
>> to just make that an option that is always enabled anyway, but changable
>> if you are using CONFIG_TINY or something...

correct?  I think GregKH was referring to you #ifdef'ing the function away
so that it isn't even there if CONFIG_HOTPLUG=n, which is completely
different from marking the function as __devinit.

If you mark the function as __devinit, it will still be there for the
kernel initialization phase whether CONFIG_HOTPLUG is on or off.  What it
does mean, however, is that the function will get freed, along with the
rest of the functions/data marked __init or __initdata, if CONFIG_HOTPLUG
is off.  If CONFIG_HOTPLUG is on, __devinit is defined to be nothing and
the function will remain because there is a possibility that someone will
call the function after the initialization phase.  If CONFIG_HOTPLUG is
off, the user is assuring us that no devices will be hot-added or
hot-removed, so there is no point in bloating the kernel text (albeit very
slightly) with functions that we *know* won't be called.

So I think it's probably a good idea to stick the __devinit on
register_node() and unregister_node(), otherwise we have no marker to know
which functions to remove for CONFIG_TINY.  Greg?

-Matt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux