Am 03.10.2013 18:41, schrieb Artem Bityutskiy: > On Thu, 2013-10-03 at 18:35 +0200, Richard Weinberger wrote: >> Am 03.10.2013 18:00, schrieb Artem Bityutskiy: >>> On Thu, 2013-10-03 at 17:53 +0200, Richard Weinberger wrote: >>>> Am 03.10.2013 17:27, schrieb Artem Bityutskiy: >>>>> On Thu, 2013-10-03 at 17:08 +0200, Richard Weinberger wrote: >>>>>> Am 03.10.2013 17:00, schrieb Artem Bityutskiy: >>>>>>> On Sat, 2013-09-28 at 15:55 +0200, Richard Weinberger wrote: >>>>>>>> If no free PEBs are available refill_wl_user_pool() must not >>>>>>>> return with -ENOSPC immediately. >>>>>>>> It has to block till produce_free_peb() produced a free PEB. >>>>>>>> >>>>>>>> Reported-and-Tested-by: Richard Genoud <richard.gen...@gmail.com> >>>>>>>> Signed-off-by: Richard Weinberger <rich...@nod.at> >>>>>>> >>>>>>> What is pool size, I wonder? >>>>>> >>>>>> Currently it's 25 (UBI_FM_WL_POOL_SIZE). >>>>>> If experience shows that 25 is too low/big we can change this constant. >>>>>> Maybe it's also worth making them configurable... >>>>> >>>>> I if it is a possible scenario that this function will not return until >>>>> 25 (or even 10) PEBs are erased? >>>>> >>>> >>>> Sure. It will try to gain up to 25 PEBs but return if it gets less. >>>> That's why a pool has a current and a max size. >>> >>> So if erasing speed is say, 250ms, then it would take 6.25 seconds? >> >> Only in the very worst case if we have to call 25 times produce_free_peb(). >> >> Of course we could add a check to return immediately if produce_free_peb() >> got called a few times in series. >> But I really would like to wait with such performance tweaks until fastmap >> is more mature. > > OK, but how about at least adding a comment talking about this unlikely > scenario?
I'm fine with this. Will send a patch. :-) Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/