public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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