[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Automagic command loading
From: |
Tomas Ebenlendr |
Subject: |
Re: Automagic command loading |
Date: |
Fri, 1 Oct 2004 23:56:53 +0200 |
User-agent: |
Mutt/1.5.6i |
Ok, I think that common opinion is that autocmd.lst is better. So I'll
write autogenerating it and reading it e.g. in autocmd.mod.
I also try to figure out the slow point in this solution.
But I have folowing questions:
1.) Should I throw away current implementation, or should there be
a module with this implementation (e.g. autocmd_elf.mod).
2.) I think, that having information about supported commands in
module is not bad. I can write tool, to read it (and generate
autocmd.lst from this information). Advantage will be following:
User1 compiles his own module and sends it to User2. User2 will copy
the module on proper location and run:
grub-mod-read-cmds the_module.mod >> autocmd.lst
> My intuition is that this is not a good solution. So I think of another
> example.
>
> The user does not like the behavior of, say, ls. So he writes his own
> module for an exhanced version of ls. Then, which does GRUB load?
>
> I do not like this undeterministic behavior. You may think that the user
> can simply remove the original module and add his own. This is true,
> but I don't think this is a clean way.
>
> One more example. Suppose that GRUB supports 100 commands and 100
> filesystems. Probably the overhead of loading all modules would be
> negligible on Pentium4, but isn't it significant on 486? We should not
> forget that some people still use very old computers.
>
> I don't see any serious disadvantage in autocmd.lst. Generating this
> file is as easy as embedding command names in modules. Editing this
> file is not difficult at all for users who can write their own modules.
>
> Generally speaking, text-based approaches are better than binary-based
> approaches. For example, if the user wants to know what modules
> contains a given command, he can just grep autocmd.lst instead of
> reading the source code or using readelf.
>
> BTW, I think it would be useful to investigate why loading all modules
> takes 5 seconds on bochs. Even on bochs, I feel this is too much. There
> might be a bug in the disk cache system. Tomas, could you look at the
> cache efficiency when loading all modules? You can get this information
> by the function grub_disk_cache_get_performance. To enable this
> function, you need to change kern/disk.c, because I disable this by #if
> 0 ... #endif.
>
> Okuji
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
--
Tomas 'ebi' Ebenlendr
http://get.to/ebik
PF 2004.75133677393