From: Detlev Zundel <dzu@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] ext2: Simplify partial sector access logic
Date: Thu, 30 Jun 2011 16:34:56 +0200 [thread overview]
Message-ID: <m2tyb7o0a7.fsf@ohwell.denx.de> (raw)
In-Reply-To: <BANLkTinsTD6RAVdh-zthW7U=C_qoCGr69QMWUV6JQnZ+4GGPFg@mail.gmail.com> (Anton Staaf's message of "Wed, 29 Jun 2011 12:23:06 -0700")
Hi Anton,
> On Wed, Jun 29, 2011 at 6:04 AM, Detlev Zundel <dzu@denx.de> wrote:
>
>> Hi Anton,
>>
>> > Previously reading or writing zero full sectors (reading the end of
>> > one sector and the beginning of the next for example) was special
>> > cased and involved stack allocating a second sector buffer. This
>> > change uses the same code path for this case as well as when there
>> > are a non-zero number of full sectors to access. The result is
>> > easier to read and reduces the maximum stack used.
>>
>> It's non-trivial to prove that your change is equivalent and
>> unfortunately I do not have enough time to do this. If your tests work,
>> than this is certainly a good indication ;) The one thing I'd like to be
>> sure is that the previous code looks like it used the stack for whole
>> sectors but copied only parts of this to the provided address pointer.
>> Your new code looks like it always writes whole sectors to the provided
>> pointer. Is this safe even if the caller allocated space without
>> overhead for whole sectors?
>
>
> Thanks for the reviews by the way. My new version of the code still bounces
> partial sector reads (both at the beginning and end of the range) through a
> stack allocated sector buffer. The portion that is writing directly to the
> users buffer is only used for reading the full sectors. The middle section
> (in the "if (sectors > 0)" block) is reading only as many sectors as are
> specified by (byte_len / SECTOR_SIZE). byte_len, buf and sector at this
> point in the function have been updated by the first block that deals with
> reading the unaligned start of the data (if it exists).
>
> Also, I have tested this code on a Tegra board using ext2ls and ext2load of
> a kernel image.
Thanks for the explanation. The new code certainly reads cleaner so
Acked-by: Detlev Zundel <dzu@denx.de>
Thanks
Detlev
--
The management question ... is not _whether_ to build a pilot system
and throw it away. You _will_ do that. The only question is whether to
plan in advance to build a throwaway, or to promise to deliver the
throwaway to customers. - Fred Brooks, "The Mythical Man Month"
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
next prev parent reply other threads:[~2011-06-30 14:34 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-13 21:40 [U-Boot] [PATCH 0/2] ext2: Cleanup and simplify sector access code Anton Staaf
2011-06-13 21:40 ` [U-Boot] [PATCH 1/2] ext2: Fix checkpatch violations Anton Staaf
2011-06-29 12:13 ` Detlev Zundel
2011-06-29 18:24 ` Anton Staaf
2011-06-30 14:25 ` Detlev Zundel
2011-06-13 21:40 ` [U-Boot] [PATCH 2/2] ext2: Simplify partial sector access logic Anton Staaf
2011-06-29 13:04 ` Detlev Zundel
2011-06-29 19:23 ` Anton Staaf
2011-06-30 14:34 ` Detlev Zundel [this message]
2011-07-18 17:21 ` Anton Staaf
2011-07-25 22:03 ` Wolfgang Denk
2011-07-25 22:26 ` Anton Staaf
2011-06-28 18:39 ` [U-Boot] [PATCH 0/2] ext2: Cleanup and simplify sector access code Anton Staaf
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=m2tyb7o0a7.fsf@ohwell.denx.de \
--to=dzu@denx.de \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox