[U-Boot] UBI: regression since "mtd: ubi: Fix worker handling"

Heiko Schocher hs at denx.de
Tue May 22 07:29:26 UTC 2018


Hello Patrice,

Am 22.05.2018 um 09:21 schrieb Patrice CHOTARD:
> Hi Richard, Heiko
> 
> On 05/22/2018 08:51 AM, Patrice CHOTARD wrote:
>> Hi
>>
>> On 05/22/2018 08:37 AM, Richard Weinberger wrote:
>>> Am Dienstag, 22. Mai 2018, 08:30:45 CEST schrieb Heiko Schocher:
>>>> Hello Richard,
>>>>
>>>> Am 21.05.2018 um 21:31 schrieb Richard Weinberger:
>>>>> Patrice,
>>>>>
>>>>> Am Montag, 21. Mai 2018, 16:07:41 CEST schrieb Richard Weinberger:
>>>>>>>              e->pnum = aeb->pnum;
>>>>>>>              e->ec = aeb->ec;
>>>>>>>              ubi->lookuptbl[e->pnum] = e;
>>>>>>> +        ubi->thread_enabled = 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.
>>>>>
>>>>> The root cause seems to be that U-Boot misses this fix from Linux:
>>>>>
>>>>> commit 1cb8f9776c7dcadc57885c6653943511d282633b
>>>>> Author: Richard Weinberger <richard at nod.at>
>>>>> Date:   Tue Aug 11 23:27:44 2015 +0200
>>>>>
>>>>>        ubi: fastmap: Implement produce_free_peb()
>>>>>        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.
>>>>>        Cc: stable at vger.kernel.org # 4.1.x-
>>>>>        Reported-and-tested-by: Jörg Krause <joerg.krause at embedded.rocks>
>>>>>        Signed-off-by: Richard Weinberger <richard at nod.at
>>>>>
>>>>> Heiko, I'm currently working on Fastmap in Linux[0].
>>>>> I suggest to re-syncing with Linux if my changes go upstream, I can
>>>>> ping you them. :-)
>>>>> Fastmap gained many improvements since the last sync.
>>>>
>>>> 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 trick.
>>> Patrice, can you please give it a try?
> 
> I confirm this patch fixes the issue.
> 
> Thanks for your reactivity ;-)

Thanks for testing! Could you may send a formal patch to the U-Boot ML ?

Thanks!

bye,
Heiko
> 
> Patrice
> 
>>
>> Yes sure,
>>
>> Thanks
>>
>> Patrice
>>
>>>
>>> Thanks,
>>> //richard
>> >

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: hs at denx.de


More information about the U-Boot mailing list