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>] [day] [month] [year] [list]
Message-ID: <1d1a5e83dfcf4b4b929d3482c19d7662@sk.com>
Date:   Mon, 14 Jun 2021 07:44:08 +0000
From:   Á¤¿äÇÑ(JOUNG YOHAN) Mobile SE 
        <yohan.joung@...com>
To:     "avri.altman@....com" <avri.altman@....com>
CC:     "alim.akhtar@...sung.com" <alim.akhtar@...sung.com>,
        "asutoshd@...eaurora.org" <asutoshd@...eaurora.org>,
        "bvanassche@....org" <bvanassche@....org>,
        "cang@...eaurora.org" <cang@...eaurora.org>,
        "d_hyun.kwon@...sung.com" <d_hyun.kwon@...sung.com>,
        "daejun7.park@...sung.com" <daejun7.park@...sung.com>,
        "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
        "huobean@...il.com" <huobean@...il.com>,
        "j-young.choi@...sung.com" <j-young.choi@...sung.com>,
        "jaemyung.lee@...sung.com" <jaemyung.lee@...sung.com>,
        ÃÖÀ翵(CHOI JAE YOUNG) Mobile SE 
        <jaeyoung21.choi@...com>,
        "javier.gonz@...sung.com" <javier.gonz@...sung.com>,
        "jejb@...ux.ibm.com" <jejb@...ux.ibm.com>,
        "jh.i.park@...sung.com" <jh.i.park@...sung.com>,
        "jieon.seol@...sung.com" <jieon.seol@...sung.com>,
        "keosung.park@...sung.com" <keosung.park@...sung.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
        "martin.petersen@...cle.com" <martin.petersen@...cle.com>,
        "stanley.chu@...iatek.com" <stanley.chu@...iatek.com>,
        "sungjun07.park@...sung.com" <sungjun07.park@...sung.com>,
        Á¤¿äÇÑ(JOUNG YOHAN) Mobile SE 
        <yohan.joung@...com>
Subject: RE: [PATCH v37 3/4] scsi: ufs: Prepare HPB read for cached sub-region

> > > > >+      /*
> > > > >+       * If the region state is active, mctx must be allocated.
> > > > >+       * In this case, check whether the region is evicted or
> > > > >+       * mctx allcation fail.
> > > > >+       */
> > > > >+      if (unlikely(!srgn->mctx)) {
> > > > >+              dev_err(&hpb->sdev_ufs_lu->sdev_dev,
> > > > >+                      "no mctx in region %d subregion %d.\n",
> > > > >+                      srgn->rgn_idx, srgn->srgn_idx);
> > > > >+              return true;
> > > > >+      }
> > > > >+
> > > > >+      if ((srgn_offset + cnt) > bitmap_len)
> > > > >+              bit_len = bitmap_len - srgn_offset;
> > > > >+      else
> > > > >+              bit_len = cnt;
> > > > >+
> > > > >+      if (find_next_bit(srgn->mctx->ppn_dirty, bitmap_len,
> > > > >+                        srgn_offset) < bit_len + srgn_offset)
> > > > >+              return true;
> > > > >+
> > > >
> > > > It seems unnecessary to search through bitmap_len
> > > > How about searching by transfer size?
> > > >
> > > > if (find_next_bit(srgn->mctx->ppn_dirty,
> > > >               bit_len + srgn_offset, srgn_offset) < bit_len + srgn_offset)
> > > Isn't bit_len should be used for size, and not bit_len + srgn_offset ?
> > 
> > then find_next_bit checks from start to bit_len.
> > find_next_bit stops checking if start is greater than bit_len.
> > it does not check for dirty as transfer_size.
> Right. Size (nbits in _find_next_bit) practically means @end - Confusing...
> Either way, Is this tad optimization worth another spin in your opinion?

Worst case, we have to search every time up to the bitmap_len size. 
Even though, when bit_len is 1, only 1 bit needs to be checked
it can increase the effect, depending on the subregion size. 

Thanks
Yohan
> 
> Thanks,
> Avri
> 
> > 
> > Thanks
> > Yohan
> > 
> > >
> > > Thanks,
> > > Avri
> > >
> > > >
> > > > Thanks
> > > > Yohan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ