ubi: fastmap: Remove unneeded break condition while filling pools
Change pool filling stop condition. Commit d09e9a2bdd
("ubi:
fastmap: Fix high cpu usage of ubi_bgt by making sure wl_pool
not empty") reserves fastmap data PEBs after filling 1 PEB in
wl_pool. Now wait_free_pebs_for_pool() makes enough free PEBs
before filling pool, there will still be at least 1 PEB in pool
and 1 PEB in wl_pool after doing ubi_refill_pools().
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
a2ea69dac6
commit
415e4723c4
@ -142,8 +142,7 @@ static void wait_free_pebs_for_pool(struct ubi_device *ubi)
|
|||||||
* @ubi: UBI device description object
|
* @ubi: UBI device description object
|
||||||
*
|
*
|
||||||
* This helper function checks whether there are enough free pebs (deducted
|
* This helper function checks whether there are enough free pebs (deducted
|
||||||
* by fastmap pebs) to fill fm_pool and fm_wl_pool, above rule works after
|
* by fastmap pebs) to fill fm_pool and fm_wl_pool.
|
||||||
* there is at least one of free pebs is filled into fm_wl_pool.
|
|
||||||
*/
|
*/
|
||||||
static bool has_enough_free_count(struct ubi_device *ubi)
|
static bool has_enough_free_count(struct ubi_device *ubi)
|
||||||
{
|
{
|
||||||
@ -152,7 +151,7 @@ static bool has_enough_free_count(struct ubi_device *ubi)
|
|||||||
if (!ubi->free.rb_node)
|
if (!ubi->free.rb_node)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (ubi->fm_wl_pool.size > 0 && !(ubi->ro_mode || ubi->fm_disabled))
|
if (!ubi->ro_mode && !ubi->fm_disabled)
|
||||||
fm_used = ubi->fm_size / ubi->leb_size - 1;
|
fm_used = ubi->fm_size / ubi->leb_size - 1;
|
||||||
|
|
||||||
return ubi->free_count > fm_used;
|
return ubi->free_count > fm_used;
|
||||||
|
Loading…
Reference in New Issue
Block a user