Re: Fast LKM symbol resolution with SysV ELH hash table

From: Carmelo Amoroso
Date: Mon Oct 19 2009 - 11:03:00 EST


2009/10/19 Greg KH <greg@xxxxxxxxx>:
> On Mon, Oct 19, 2009 at 01:45:20PM +0200, Carmelo Amoroso wrote:
>> Just a few other notes. The current implementation I did based on SysV
>> has a drawback that is not backward compatible, so you cannot use old
>> modules with a kernel with the option enabled due to changes on struct
>> kernel_symbol.
>
> Why would this be a problem?  Whenever making a kernel config change,
> you should be able to rebuild everything, as lots of other configuration
> options are that way.
>

This is not always true... there could be cases in which you cannot
recompile old modules
(e.g vendors that provide non GPL modules)

>> Anyway I've just figured out how to change it to remove this limitation.
>> I need some time to review these patches.  Further, the newer
>> implementation based on GNU hash which we are working on right now,
>> will not require the extra .undef.hash ELF sections because hash
>> values are already embedded into the GNU hash table, with a reduction
>> in terms of footprint.
>
> Footprint in the memory for the loaded module, or just in the footprint
> for the module on the disk?
>

both

> I'd be interested in seeing your patches when you have something that
> works for the current Linus kernel tree.
>

sure. I tested weeks ago it on a 2.6.30 tree on x86 at it worked
without problems.
I had to hack the x86 linker scripts to remove a check on file size
that sounded strange
to me.

carmelo

> thanks,
>
> greg k-h
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/