çå: çå: [PATCH RFC] ubi: ubi_wl_get_peb: Replace a limited number of attempts with polling while getting PEB

From: chengzhihao
Date: Thu Aug 01 2019 - 05:26:53 EST


> You send this patch three times, I guess your mail setup has issues? :-)
Sorry, I thought I hadn't sent the first two e-mails. (The Patch work website refreshes slowly)

> Do you have numbers how many attempts were needed to get a free block?
I tested it dozens of times. The biggest number of attempts I've ever had so far is 6. In most cases, it only takes 2 or 3 times.

-----éäåä-----
åää: Richard Weinberger [mailto:richard@xxxxxx]
åéæé: 2019å8æ1æ 17:21
æää: chengzhihao <chengzhihao1@xxxxxxxxxx>
æé: zhangyi (F) <yi.zhang@xxxxxxxxxx>; linux-mtd <linux-mtd@xxxxxxxxxxxxxxxxxxx>; linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>
äé: Re: çå: [PATCH RFC] ubi: ubi_wl_get_peb: Replace a limited number of attempts with polling while getting PEB

----- UrsprÃngliche Mail -----
> Von: "chengzhihao1" <chengzhihao1@xxxxxxxxxx>
> An: "richard" <richard@xxxxxx>, "yi zhang" <yi.zhang@xxxxxxxxxx>
> CC: "linux-mtd" <linux-mtd@xxxxxxxxxxxxxxxxxxx>, "linux-kernel"
> <linux-kernel@xxxxxxxxxxxxxxx>
> Gesendet: Donnerstag, 1. August 2019 11:13:20
> Betreff: çå: [PATCH RFC] ubi: ubi_wl_get_peb: Replace a limited number
> of attempts with polling while getting PEB

> I don't quite understand why a limited number of attempts have been
> made to get a free PEB in ubi_wl_get_peb (in fastmap-wl.c). I proposed
> this PATCH with reference to the implementation of ubi_wl_get_peb (in
> wl.c). As far as I know, getting PEB by polling probably won't fall into soft-lockup.
> ubi_update_fastmap may add new tasks (including erase task or wl
> taskk, wl tasks generally do not generate additional free PEBs) to
> ubi->works, and produce_free_peb will eventually complete all tasks in
> ubi->works or obtain an free PEB that can be filled into pool.

You send this patch three times, I guess your mail setup has issues? :-)

This is one of the darkest corners of Fastmap where things get messy.
The number of retry attempts was limited to avoid a live lock.

I agree that allowing only one retry is a little to few.
With nandsim, a small nand and a fast PC you can hit that.

Do you have numbers how many attempts were needed to get a free block?

Thanks,
//richard