Hi, This effects ALL fs since grub_disk_read will break it into 8192 blocks, regardless of what the upper fs asks. In burg, I add another function to read the blocks directly and skip the cache, which results in much faster reads for large continuous file.
2011/4/15 Vladimir 'φ-coder/phcoder' Serbinenko <phco...@gmail.com>: > On 15.04.2011 04:45, Bean wrote: >> Hi, >> >> I believe this is caused by the read algorithm of grub2. If the file >> is continuous, grub legacy will read it in one pass, while grub2 will >> break it up into small blocks, this will slow it down dramatically. I >> haven't tested efi, but in bios mode, sometimes it takes twice as long >> for grub2 to read the same file. >> > That's why I asked which fs it is. On an FS like ext2 or fat Both GRUBs > are limited by the need of rereading indirect blocks or FAT chain (sure > this can be aleviated by buffering and merging the nodes but neither > GRUB Legacy nor GRUB2 does it). Currently it makes difference only on > extent-based filesystems like ext, xfs or btrfs. I don't want to embark > on adding another code path in grub_disk_read before having enough info > to confirm this theory yet neither the original reporter nor the others > answered which FS they conducted experiments on. > > -- > Regards > Vladimir 'φ-coder/phcoder' Serbinenko > > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > > -- Bean _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel