lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0B80F9D4116B2F4484E7279D5A66984F7A8ACF@dggemi524-mbx.china.huawei.com>
Date:   Thu, 1 Aug 2019 13:19:28 +0000
From:   chengzhihao <chengzhihao1@...wei.com>
To:     Richard Weinberger <richard@....at>
CC:     "zhangyi (F)" <yi.zhang@...wei.com>,
        linux-mtd <linux-mtd@...ts.infradead.org>,
        linux-kernel <linux-kernel@...r.kernel.org>
Subject: 答复: 答复: 答复: [PATCH RFC] ubi: ubi_wl_get_peb: Replace a limited number of attempts with polling while getting PEB

I have tested this extreme case(No free PEBs left after creating test volumes) on different type of machines for 100 times. The biggest number of attempts are shown below:

           x86_64     arm64
2-core        4         4
4-core        8         4
8-core        4         4

So, setting the number of attempts to 10 is fine. May I send another PATCH to improve it?

Planned revisions:
--- a/drivers/mtd/ubi/fastmap-wl.c
+++ b/drivers/mtd/ubi/fastmap-wl.c
@@ -221,12 +221,12 @@ int ubi_wl_get_peb(struct ubi_device *ubi)
 
        if (pool->used == pool->size) {
                spin_unlock(&ubi->wl_lock);
-               if (retried) {
+               retried++;
+               if (retried == 10) {
                        ubi_err(ubi, "Unable to get a free PEB from user WL pool");
                        ret = -ENOSPC;
                        goto out;
                }
-               retried = 1;
                up_read(&ubi->fm_eba_sem);
                ret = produce_free_peb(ubi);
                if (ret < 0) {

-----邮件原件-----
发件人: Richard Weinberger [mailto:richard@....at] 
发送时间: 2019年8月1日 17:40
收件人: chengzhihao <chengzhihao1@...wei.com>
抄送: zhangyi (F) <yi.zhang@...wei.com>; linux-mtd <linux-mtd@...ts.infradead.org>; linux-kernel <linux-kernel@...r.kernel.org>
主题: Re: 答复: 答复: [PATCH RFC] ubi: ubi_wl_get_peb: Replace a limited number of attempts with polling while getting PEB

----- Ursprüngliche Mail -----
>> 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.

So raising the retry count to, let's say, 10 would work too?
Having it unbound feels dangerous because it may hide other problems.

Thanks,
//richard

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ