I have found the update-grub process to be excruciatingly slow on at least two SATA systems. On my older system with a VIA VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE, controller things seem to work quite nicely.
One of the SATA systems is a Thinkpad T60 laptop with a 82801GBM/GHM (ICH7 Family) SATA AHCI Controller, the other is a server with a 3ware 8506-4LP 4 port RAID controller runing raid10 so you could say that the problem spans a decent spectrum. Other than the IDE/SATA distinction between the working/not working as nicely cases, the two SATA systems are using XFS file systems wheras the IDE system is using Reiser. There is a Debian bug #508834 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508834 in which I and at least one other user have experienced this problem. To sumarize, the problematic area seems to be at util/grub-probe.c:368 grub_init_all () Without understanding what exactly this problem is, or how to solve it on a fundamental level, it does seem kind of silly that grub-probe gets called so many times during the update-grub process. Each time it is called it must go through the grub_init_all () again which even in the best of circumstances can't be that efficient. One obvious problem seems to be that grub-probe can only process one query at a time. As a result there are several places in the update-grub code path where grub-probe is called in rapid succession to obtain different pieces of information about the same device. The less trivial problem is there are a lot of circumstances in which grub-probe is called to get the same information about the same device more than once in an update-grub run. The problem is that in most cases this is being done because in general, these could in fact be different devices based on your configuration. There would therefore need to be some kind of caching mechanism to store information already gathered and then some way of determining if a given grub-probe target had already been probed. I was thinking of trying to see if I couldn't improve the efficiency of the update-grub process, but I wanted to hear from the pros if there are any caveats or deliberate design decisions that have been made in this area. Kevin _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel