From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: dedekind1@gmail.com, linux-mtd@lists.infradead.org
Cc: David Woodhouse <dwmw2@infradead.org>,
Brian Norris <computersforpeace@gmail.com>,
Richard Weinberger <richard@nod.at>,
tglx@linutronix.de, Peter Zijlstra <peterz@infradead.org>
Subject: Re: [RFC PATCH 2/2] mtd: ubi: wl: avoid erasing a PEB which is empty
Date: Thu, 26 Nov 2015 15:56:39 +0100 [thread overview]
Message-ID: <56571DA7.3070106@linutronix.de> (raw)
In-Reply-To: <1448369897.23789.47.camel@gmail.com>
On 11/24/2015 01:58 PM, Artem Bityutskiy wrote:
> On Mon, 2015-11-23 at 19:09 +0100, Sebastian Andrzej Siewior wrote:
> Back to my idea - what if you add the MOVE_RETRY eraseblocks to the
> protection queue. May be not to the tail, may be to the head.
I've been thinking about this. The protected list protects EBs from the
WL worker. There are 10 slots and after one successful erase process
all EB from this slot will be moved back to ->used list. So e2 can't be
placed there because it belongs on the ->free list.
e1 could be added there so it is protected from the WL worker until at
least one erase cycle happened. This is no guarantee that MOVE_RETRY
does not happen again but an optimistic try :)
However once the protection time ends, it won't be added to the ->scrub
list but the ->used list instead. The difference is that if it has an
average number of erase cycles it won't be considered by the WL worker
any time soon. So if it was added to the ->scrub list because a bitflip
was detected on read then you lose this information.
For that reason I think it is not worth putting it on the protected
list.
Sebastian
prev parent reply other threads:[~2015-11-26 14:57 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-23 18:09 [RFC] avoid a live lock in wear_leveling_worker() Sebastian Andrzej Siewior
2015-11-23 18:09 ` [RFC PATCH 1/2] mtd: nand: schedule() after releasing the device Sebastian Andrzej Siewior
2015-11-23 18:18 ` Peter Zijlstra
2015-11-25 17:35 ` [PATCH] mtd: nand: do FIFO processing in nand_get_device() Sebastian Andrzej Siewior
2015-11-30 16:15 ` Peter Zijlstra
2015-12-06 14:17 ` Sebastian Andrzej Siewior
2015-12-06 14:23 ` [PATCH v2] " Sebastian Andrzej Siewior
2015-12-02 18:52 ` [PATCH] " Brian Norris
2015-12-02 20:41 ` Sebastian Andrzej Siewior
2015-11-23 18:09 ` [RFC PATCH 2/2] mtd: ubi: wl: avoid erasing a PEB which is empty Sebastian Andrzej Siewior
2015-11-23 21:30 ` Richard Weinberger
2015-11-23 21:50 ` Richard Weinberger
2015-11-24 8:26 ` Sebastian Andrzej Siewior
2015-11-24 8:39 ` Richard Weinberger
2015-11-24 8:42 ` Sebastian Andrzej Siewior
2015-11-24 9:02 ` Richard Weinberger
2015-11-24 9:07 ` Sebastian Andrzej Siewior
2015-11-24 9:16 ` Richard Weinberger
2015-11-24 12:58 ` Artem Bityutskiy
2015-11-24 13:33 ` Sebastian Andrzej Siewior
2015-11-24 13:40 ` Artem Bityutskiy
2015-11-24 13:57 ` Artem Bityutskiy
2015-11-26 14:56 ` Sebastian Andrzej Siewior [this message]
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=56571DA7.3070106@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=computersforpeace@gmail.com \
--cc=dedekind1@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=peterz@infradead.org \
--cc=richard@nod.at \
--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;
as well as URLs for NNTP newsgroup(s).