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

Reply via email to