From: Hamish Moffatt <hamish@cloud.net.au>
To: Alexey Korolev <akorolev@infradead.org>
Cc: dwmw2@infradead.org, Thomas Gleixner <tglx@linutronix.de>,
linux-mtd@lists.infradead.org
Subject: Re: [RFC][patch] NAND partial page read functionality
Date: Fri, 25 Apr 2008 00:04:47 +1000 [thread overview]
Message-ID: <20080424140447.GA30558@cloud.net.au> (raw)
In-Reply-To: <Pine.LNX.4.64.0804241057520.6029@pentafluge.infradead.org>
Hi,
Thanks for your patch Alexey.
On Thu, Apr 24, 2008 at 11:25:01AM +0100, Alexey Korolev wrote:
> Oh I'm glad to hear that this patch is needful. In fact I did
> not drop it. We did some more investigations about integration subpage
> read in background. We tried to remove some drawback caused by
> invalidation of prestored page in do_read_ops function. (We have found
> that on large read requests nand subpage read causes ~10% of read performance degradation. I
> wanted to remove but changes made code ugly and saved only 5%)
Do you know why this is? If you are reading a whole page then the
partial read code is equivalent to the read full page code as far as I
can tell.
> > Also Alexey said:
> > > Setting NAND_PART_READ option in board driver will enable this
> > > feature.
> >
> > which is not true, as nand_base.c masks out chip-options (like this)
> > inherited from the board driver. It must be set for the chip in
> > nand_ids.c instead.
> It works fine, you need to setup this option after nand_scan.
> Using it in NAND_IDS is bad idea because some people may want disable it you can indirectly identify if chip
> supports subpage read from NAND capabilities records.y
Oh, I see. I think it is unusual to modify the chip->options after
calling nand_scan? I am using plat_nand.c and it doesn't have any way to
do this.
Maybe NAND_PART_READ should be excluded from NAND_CHIPOPTIONS_MSK. But
you still have the case where the chip can't do it even if the board
wants to. Maybe the chip should declare it's capable and the board
should be able to turn it off if required.
Mind you, other parts of nand_base use the RNDOUT function already so I
don't think there is any case where you *wouldn't* enable partial reads.
> So if there is an interest in subpage read let resume the topic. In next couple days I
> will send updated patch with subpage read functionality.
Thanks. Did you find any actual bugs with the previous patch, or is it
safe for me to use it?
Hamish
--
Hamish Moffatt VK3SB <hamish@debian.org> <hamish@cloud.net.au>
next prev parent reply other threads:[~2008-04-24 14:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-13 18:15 [RFC][patch] NAND partial page read functionality Alexey Korolev
2007-12-15 12:13 ` Artem Bityutskiy
2007-12-17 15:46 ` Alexey Korolev
2007-12-18 8:48 ` Artem Bityutskiy
2007-12-18 11:42 ` Jörn Engel
2007-12-18 12:57 ` Artem Bityutskiy
2007-12-18 13:51 ` Jörn Engel
2008-04-24 6:34 ` Artem Bityutskiy
2008-04-24 7:11 ` Artem Bityutskiy
2008-04-24 7:45 ` Hamish Moffatt
2008-04-24 9:53 ` Artem Bityutskiy
2008-04-24 10:25 ` Alexey Korolev
2008-04-24 10:45 ` Artem Bityutskiy
2008-04-24 10:57 ` Alexey Korolev
2008-04-24 14:04 ` Hamish Moffatt [this message]
2008-04-24 14:48 ` Alexey Korolev
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=20080424140447.GA30558@cloud.net.au \
--to=hamish@cloud.net.au \
--cc=akorolev@infradead.org \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=tglx@linutronix.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