All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: grub-devel@gnu.org
Subject: Re: Grub2 EFI: Image loading from USB takes too long
Date: Mon, 25 Apr 2011 12:58:59 +0200	[thread overview]
Message-ID: <4DB553F3.3020503@gmail.com> (raw)
In-Reply-To: <BANLkTi=CB9Xc68Lp10ML8noTp7fVS0XJvw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2094 bytes --]

On 25.04.2011 06:14, Bean wrote:
> Hi,
>
> This effects ALL fs since grub_disk_read will break it into 8192
> blocks, regardless of what the upper fs asks.
Non-extent based FS simply don't do any direct reads bigger than that
unless they implement block pointer buffering and none of our fs does
>  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.
Which is an example of bad design. Rather than improving the existing
function to do both caching and unbroken read (like in my 4096 branch)
you have 2 functions and force upper layers to do the tradeoffs and care
about matters which should be abstracted and invisible to them.
> 2011/4/15 Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@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
>>
>>
>
>


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]

  reply	other threads:[~2011-04-25 10:59 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-06 16:12 Grub2 EFI: Image loading from USB takes too long Aravind Srinivasan
2011-04-07  9:24 ` KESHAV P.R.
2011-04-08 16:33 ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-04-15  2:45   ` Bean
2011-04-15  6:55     ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-04-15  8:18       ` Seth Goldberg
2011-04-15 19:54         ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-06-23 16:02           ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-04-25  4:14       ` Bean
2011-04-25 10:58         ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
2011-04-26  3:03           ` Bean
2011-04-26 10:36             ` Vladimir 'φ-coder/phcoder' Serbinenko
  -- strict thread matches above, loose matches on Subject: below --
2011-04-15 16:07 Finnbarr P. Murphy
2011-04-05  5:33 Aravind Srinivasan
2011-04-05  6:32 ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-04-05  7:36   ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-04-05 16:36     ` Aravind Srinivasan
2011-04-05  6:32 ` Seth Goldberg
2011-04-05  7:17   ` KESHAV P.R.
2011-04-05  7:43     ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-04-05  8:06       ` KESHAV P.R.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DB553F3.3020503@gmail.com \
    --to=phcoder@gmail.com \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.