On Fri, 14 Mar 2008, Davide Madrisan wrote:

> > are you sure about the above?  can you point at a sample source file
> > somewhere in the kernel tree that allows __initdata to be applied to
> > module parameters?  i've just never seen that.  maybe i haven't looked
> > hard enough.
>
> I've found a few examples (linux 2.6.23):
>
> drivers/char/agp/amd64-agp.c
> drivers/char/hw_random/intel-rng.c
> drivers/char/watchdog/sa1100_wdt.c
> drivers/s390/block/xpram.c
> drivers/scsi/gdth.c
> drivers/video/vfb.c
>
> and
>
> sound/oss/ad1848.c
> sound/oss/aedsp16.c
> sound/oss/msnd_pinnacle.c
> sound/oss/pas2_card.c
> sound/oss/pss.c
> sound/oss/sb_card.c
> sound/oss/sscape.c
> sound/oss/trix.c
> sound/oss/uart6850.c
> sound/oss/waveartist.c

ah, i think i *might* see what's going on.  ignore all the "oss"
stuff, it's going away soon, anyway.  consider
drivers/char/agp/amd64-agp.c:
  ...
  static int __initdata agp_try_unsupported = 1;
  ...
  module_param(agp_try_unsupported, bool, 0);
  ...

note the /sys filesystem perms for this parameter: 0 -- this means it
will *not* show up under /sys and, if it doesn't, then it really has
no value after loading.  therefore, it can be tossed.  (that's my
theory, which is mine.  ahem.)

let's try the next one -- drivers/char/hw_random/intel-rng.c:
  ...
  static __initdata int no_fwh_detect;
  module_param(no_fwh_detect, int, 0);
  ...

i see a pattern here.  one more, just for fun --
drivers/watchdog/sa1100_wdt.c:
  ...
  static int margin __initdata = 60;
  ...
  module_param(margin, int, 0);
  ...

yes, i think we've established what's happening.  as long as a module
parameter is defined with access rights of zero, it can be tagged as
__initdata.

would anyone like to confirm or deny that?  if it's true, it does
suggest that any module param with perms of zero *should* be tagged
with __initdata, to save space, since there's no reason to hang onto
it after loading.  but i'll wait for someone much smarter than me to
confirm all this.

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to