public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Can Guo <cang@codeaurora.org>
To: daejun7.park@samsung.com
Cc: Bean Huo <huobean@gmail.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	avri.altman@wdc.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, asutoshd@codeaurora.org,
	stanley.chu@mediatek.com, bvanassche@acm.org,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	ALIM AKHTAR <alim.akhtar@samsung.com>,
	JinHwan Park <jh.i.park@samsung.com>,
	Javier Gonzalez <javier.gonz@samsung.com>,
	Sung-Jun Park <sungjun07.park@samsung.com>,
	Jinyoung CHOI <j-young.choi@samsung.com>,
	Dukhyun Kwon <d_hyun.kwon@samsung.com>,
	Keoseong Park <keosung.park@samsung.com>,
	Jaemyung Lee <jaemyung.lee@samsung.com>,
	Jieon Seol <jieon.seol@samsung.com>
Subject: Re: [PATCH v31 2/4] scsi: ufs: L2P map management for HPB read
Date: Tue, 23 Mar 2021 14:47:32 +0800	[thread overview]
Message-ID: <a9017bbb57618c5560b21c1cdadb4f80@codeaurora.org> (raw)
In-Reply-To: <20210323063726epcms2p28aadb16bb96943ade1d2b288bb634811@epcms2p2>

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...

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.
>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
>>>> 
>>>> 
>> 
>> 
>> 

  reply	other threads:[~2021-03-23  6:48 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20210322065127epcms2p5021a61416a6b427c62fcaf5d8b660860@epcms2p5>
2021-03-22  6:51 ` [PATCH v31 0/4] scsi: ufs: Add Host Performance Booster Support Daejun Park
2021-03-22  6:53   ` [PATCH v31 1/4] scsi: ufs: Introduce HPB feature Daejun Park
2021-03-22  6:54   ` [PATCH v31 2/4] scsi: ufs: L2P map management for HPB read Daejun Park
2021-03-22  9:11     ` Bean Huo
2021-03-22  9:45       ` Daejun Park
2021-03-23  4:22       ` Can Guo
2021-03-23  4:33         ` Can Guo
2021-03-23  5:37           ` Daejun Park
2021-03-23  6:07             ` Can Guo
2021-03-23  6:19               ` Daejun Park
2021-03-23  6:26                 ` Can Guo
2021-03-23  6:37                   ` Daejun Park
2021-03-23  6:47                     ` Can Guo [this message]
2021-03-23 12:48                       ` Avri Altman
2021-03-24  1:45                         ` Can Guo
2021-03-24  8:37                           ` Bean Huo
2021-03-24  9:24                             ` Can Guo
2021-03-24  9:33                               ` Bean Huo
2021-03-24  9:37                                 ` Can Guo
2021-03-22  6:54   ` [PATCH v31 3/4] scsi: ufs: Prepare HPB read for cached sub-region Daejun Park
2021-03-22  6:55   ` [PATCH v31 4/4] scsi: ufs: Add HPB 2.0 support Daejun Park
2021-03-24  5:01     ` Can Guo
2021-03-25  0:47       ` Daejun Park
2021-03-25  8:12         ` Can Guo
2021-03-26  2:55           ` Daejun Park
2021-03-26  3:15             ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a9017bbb57618c5560b21c1cdadb4f80@codeaurora.org \
    --to=cang@codeaurora.org \
    --cc=alim.akhtar@samsung.com \
    --cc=asutoshd@codeaurora.org \
    --cc=avri.altman@wdc.com \
    --cc=bvanassche@acm.org \
    --cc=d_hyun.kwon@samsung.com \
    --cc=daejun7.park@samsung.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=huobean@gmail.com \
    --cc=j-young.choi@samsung.com \
    --cc=jaemyung.lee@samsung.com \
    --cc=javier.gonz@samsung.com \
    --cc=jejb@linux.ibm.com \
    --cc=jh.i.park@samsung.com \
    --cc=jieon.seol@samsung.com \
    --cc=keosung.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=stanley.chu@mediatek.com \
    --cc=sungjun07.park@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox