From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Weinberger Date: Tue, 22 May 2018 08:37:50 +0200 Subject: [U-Boot] UBI: regression since "mtd: ubi: Fix worker handling" In-Reply-To: References: <0a34e4d0-7563-313f-ec09-e14ef8f27d58@st.com> <2899268.ayio2GfFjU@blindfold> Message-ID: <3108482.g5XAZ8n9jd@blindfold> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: u-boot@lists.denx.de Am Dienstag, 22. Mai 2018, 08:30:45 CEST schrieb Heiko Schocher: > Hello Richard, >=20 > Am 21.05.2018 um 21:31 schrieb Richard Weinberger: > > Patrice, > >=20 > > Am Montag, 21. Mai 2018, 16:07:41 CEST schrieb Richard Weinberger: > >>> e->pnum =3D aeb->pnum; > >>> e->ec =3D aeb->ec; > >>> ubi->lookuptbl[e->pnum] =3D e; > >>> + ubi->thread_enabled =3D 1; > >> > >> This is not correct. At this point the UBI thread is not ready. > >> I know, I know, U-Boot has no threads but some data structures might > >> not be ready. > >> > >> Let me think how to work around this properly. > >=20 > > The root cause seems to be that U-Boot misses this fix from Linux: > >=20 > > commit 1cb8f9776c7dcadc57885c6653943511d282633b > > Author: Richard Weinberger > > Date: Tue Aug 11 23:27:44 2015 +0200 > >=20 > > ubi: fastmap: Implement produce_free_peb() > > =20 > > If fastmap requests a free PEB for a pool and UBI is busy > > with erasing PEBs we need to offer a function to wait for one. > > We can reuse produce_free_peb() from the non-fastmap WL code > > but with different locking semantics. > > =20 > > Cc: stable at vger.kernel.org # 4.1.x- > > Reported-and-tested-by: J=C3=B6rg Krause > > Signed-off-by: Richard Weinberger >=20 > > Heiko, I'm currently working on Fastmap in Linux[0]. > > I suggest to re-syncing with Linux if my changes go upstream, I can pin= g you them. :-) > > Fastmap gained many improvements since the last sync. >=20 > Yes, but I am currently under load, and doing a rebase is a bigger > task I fear (I speculate currently to automate this task with tbot, > let me think a little bit about this, if this would work, U-Boot UBI > would autaomtically follow linux tree, and I immediately would see > merge errors ...) Ok. :-) > Also before a rebase can go mainline, we need deep testing. So no > fast chance here for me ... sorry. If we can find commits, which > fix this regression, it may makes sense to apply them before such a > rebase ... ? As I said, commit 1cb8f9776c7dcadc57885c6653943511d282633b should do the tr= ick. Patrice, can you please give it a try? Thanks, //richard