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] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM6PR04MB657535F2F25BB41CAD191DB6FC649@DM6PR04MB6575.namprd04.prod.outlook.com>
Date:   Tue, 23 Mar 2021 12:48:16 +0000
From:   Avri Altman <Avri.Altman@....com>
To:     Can Guo <cang@...eaurora.org>,
        "daejun7.park@...sung.com" <daejun7.park@...sung.com>
CC:     Bean Huo <huobean@...il.com>, Greg KH <gregkh@...uxfoundation.org>,
        "jejb@...ux.ibm.com" <jejb@...ux.ibm.com>,
        "martin.petersen@...cle.com" <martin.petersen@...cle.com>,
        "asutoshd@...eaurora.org" <asutoshd@...eaurora.org>,
        "stanley.chu@...iatek.com" <stanley.chu@...iatek.com>,
        "bvanassche@....org" <bvanassche@....org>,
        "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        ALIM AKHTAR <alim.akhtar@...sung.com>,
        JinHwan Park <jh.i.park@...sung.com>,
        Javier Gonzalez <javier.gonz@...sung.com>,
        Sung-Jun Park <sungjun07.park@...sung.com>,
        Jinyoung CHOI <j-young.choi@...sung.com>,
        Dukhyun Kwon <d_hyun.kwon@...sung.com>,
        Keoseong Park <keosung.park@...sung.com>,
        Jaemyung Lee <jaemyung.lee@...sung.com>,
        Jieon Seol <jieon.seol@...sung.com>
Subject: RE: [PATCH v31 2/4] scsi: ufs: L2P map management for HPB read

> 
> On 2021-03-23 14:37, Daejun Park wrote:
> >> On 2021-03-23 14:19, Daejun Park wrote:
> >>>> On 2021-03-23 13:37, Daejun Park wrote:
> >>>>>> On 2021-03-23 12:22, Can Guo wrote:
> >>>>>>> On 2021-03-22 17:11, Bean Huo wrote:
> >>>>>>>> On Mon, 2021-03-22 at 15:54 +0900, Daejun Park wrote:
> >>>>>>>>> +       switch (rsp_field->hpb_op) {
> >>>>>>>>>
> >>>>>>>>> +       case HPB_RSP_REQ_REGION_UPDATE:
> >>>>>>>>>
> >>>>>>>>> +               if (data_seg_len != DEV_DATA_SEG_LEN)
> >>>>>>>>>
> >>>>>>>>> +                       dev_warn(&hpb->sdev_ufs_lu->sdev_dev,
> >>>>>>>>>
> >>>>>>>>> +                                "%s: data seg length is not
> >>>>>>>>> same.\n",
> >>>>>>>>>
> >>>>>>>>> +                                __func__);
> >>>>>>>>>
> >>>>>>>>> +               ufshpb_rsp_req_region_update(hpb, rsp_field);
> >>>>>>>>>
> >>>>>>>>> +               break;
> >>>>>>>>>
> >>>>>>>>> +       case HPB_RSP_DEV_RESET:
> >>>>>>>>>
> >>>>>>>>> +               dev_warn(&hpb->sdev_ufs_lu->sdev_dev,
> >>>>>>>>>
> >>>>>>>>> +                        "UFS device lost HPB information
> >>>>>>>>> during
> >>>>>>>>> PM.\n");
> >>>>>>>>>
> >>>>>>>>> +               break;
> >>>>>>>>
> >>>>>>>> Hi Deajun,
> >>>>>>>> This series looks good to me. Just here I have one question. You
> >>>>>>>> didn't
> >>>>>>>> handle HPB_RSP_DEV_RESET, just a warning.  Based on your SS UFS,
> >>>>>>>> how
> >>>>>>>> to
> >>>>>>>> handle HPB_RSP_DEV_RESET from the host side? Do you think we
> >>>>>>>> shoud
> >>>>>>>> reset host side HPB entry as well or what else?
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Bean
> >>>>>>>
> >>>>>>> Same question here - I am still collecting feedbacks from flash
> >>>>>>> vendors
> >>>>>>> about
> >>>>>>> what is recommanded host behavior on reception of HPB Op code
> >>>>>>> 0x2,
> >>>>>>> since it
> >>>>>>> is not cleared defined in HPB2.0 specs.
> >>>>>>>
> >>>>>>> Can Guo.
> >>>>>>
> >>>>>> I think the question should be asked in the HPB2.0 patch, since in
> >>>>>> HPB1.0 device
> >>>>>> control mode, a HPB reset in device side does not impact anything
> >>>>>> in
> >>>>>> host side -
> >>>>>> host is not writing back any HPB entries to device anyways and HPB
> >>>>>> Read
> >>>>>> cmd with
> >>>>>> invalid HPB entries shall be treated as normal Read(10) cmd
> >>>>>> without
> >>>>>> any
> >>>>>> problems.
> >>>>>
> >>>>> Yes, UFS device will process read command even the HPB entries are
> >>>>> valid or
> >>>>> not. So it is warning about read performance drop by dev reset.
> >>>>
> >>>> Yeah, but still I am 100% sure about what should host do in case of
> >>>> HPB2.0
> >>>> when it receives HPB Op code 0x2, I am waiting for feedbacks.
> >>>
> >>> I think the host has two choices when it receives 0x2.
> >>> One is nothing on host.
> >>> The other is discarding all HPB entries in the host.
> >>>
> >>> In the JEDEC HPB spec, it as follows:
> >>> When the device is powered off by the host, the device may restore
> >>> L2P
> >>> map
> >>> data upon power up or build from the host’s HPB READ command.
> >>>
> >>> If some UFS builds L2P map data from the host's HPB READ commands, we
> >>> don't
> >>> have to discard HPB entries in the host.
> >>>
> >>> So I thinks there is nothing to do when it receives 0x2.
> >>
> >> But in HPB2.0, if we do nothing to active regions in host side, host
> >> can
> >> write
> >> HPB entries (which host thinks valid, but actually invalid in device
> >> side since
> >> reset happened) back to device through HPB Write Buffer cmds (BUFFER
> >> ID
> >> = 0x2).
> >> My question is that are all UFSs OK with this?
> >
> > Yes, it must be OK.
> >
> > Please refer the following the HPB 2.0 spec:
> >
> > If the HPB Entries sent by HPB WRITE BUFFER are removed by the device,
> > for example, because they are not consumed for a long enough period of
> > time,
> > then the HPB READ command for the removed HPB entries shall be handled
> > as a
> > normal READ command.
> >
> 
> No, it is talking about the subsequent HPB READ cmd sent after a HPB
> WRITE BUFFER cmd,
> but not the HPB WRITE BUFFER cmd itself...
Looks like this discussion is going the same way as we had in host mode.
HPB-WRITE-BUFFER 0x2, if exist,  is always a companion to HPB-READ.
You shouldn't consider them separately.

The device is expected to handle invalid ppn by itself, and specifically for this case,
As Daejun explained, Handle each HPB-READ (and its companion HPB-WRITE-BUFFER) like READ10.

For device mode, doing nothing in case of dev reset, seems to me like the right thing to do.

Thanks,
Avri

> 
> Thanks,
> Can Guo.
> 
> > Thanks,
> > Daejun
> >
> >> Thanks,
> >> Can Guo.
> >>
> >>>
> >>> Thanks,
> >>> Daejun
> >>>
> >>>> Thanks,
> >>>> Can Guo.
> >>>>
> >>>>>
> >>>>> Thanks,
> >>>>> Daejun
> >>>>>
> >>>>>> Please correct me if I am wrong.
> >>>>>
> >>>>>
> >>>>>
> >>>>>> Thanks,
> >>>>>> Can Guo.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>
> >>>>
> >>>>
> >>
> >>
> >>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ