linux-rockchip.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Shawn Lin <shawn.lin@rock-chips.com>,
	Alex Lemberg <Alex.Lemberg@sandisk.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: Jaehoon Chung <jh80.chung@samsung.com>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Doug Anderson <dianders@chromium.org>,
	"linux-rockchip@lists.infradead.org"
	<linux-rockchip@lists.infradead.org>
Subject: Re: [PATCH] mmc: core: add auto bkops support
Date: Thu, 23 Jun 2016 08:22:25 +0300	[thread overview]
Message-ID: <576B7211.2030208@intel.com> (raw)
In-Reply-To: <23729258-7a6b-80ac-6c90-b48eed64e0ea@rock-chips.com>

On 23/06/16 04:33, Shawn Lin wrote:
> 在 2016/6/22 22:08, Alex Lemberg 写道:
>> HI Shawn,
>>
>> On 6/21/16, 4:44 AM, "Shawn Lin" <shawn.lin@rock-chips.com> wrote:
>>
>>> On 2016/6/20 21:33, Alex Lemberg wrote:
>>>> Hi Shawn,
>>>>
>>>> […]
>>>>
>>>>>>> +
>>>>>>> +static int mmc_stop_auto_bkops(struct mmc_card *card)
>>>>>>> +{
>>>>>>> +    int err = 0;
>>>>>>> +
>>>>>>> +    if (!card->ext_csd.auto_bkops_en)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>
>>>>>> Shouldn’t the BKOPS_STATUS be checked prior to disabling the BKOPS
>>>>>> activity of the device?
>>>>>>
>>>>>
>>>>> Hrmm.. I read the whole section of spec for it, and I did find this
>>>>> requirement for manul bkops but not for the auto one. So what should we
>>>>> do if using the auto one?
>>>>>
>>>>
>>>> In case of AUTO BKOPS, the eMMC Device should perform internal GC
>>>> in the same way as in case of MANUAL BKOPS.
>>>> The only difference is a host awareness.
>>>
>>> agree.
>>>
>>>> Although there is no requirement in the spec, I think the driver can
>>>> give some time to the device to perform/complete its internal GC during
>>>> the idle time.
>>>> Thus I think we can check the BKOPS_STATUS on Runtime suspend.
>>>
>>> We shouldn't diable bkops on *runtime* suspend as it's just the right
>>> time for firmware to do GC. We could consider to check and wait for
>>> the status when doing poweroff, although it seems firmware should be
>>> able to accept the disable cmd and deal the on-going work perfectly
>>> when doing bkops without host's awareness, just the same way as suddent
>>> power loss cases.
>>
>> If I am not wrong, in current implementation of runtime suspend,
>> the driver stops BKOPS (send HPI) just before sending sleep command,
>> see _mmc_suspend(), depends on “MMC_CAP_AGGRESSIVE_PM” flag.
>> In this case, the eMMC device will not have enough time to perform internal
>> BKOPS in both – Manual and Auto BKOPS configurations.
>>
> 
> ye, so it seems a pre-exiting issue before introducing auto bkops?
> I think we can push another patch to improve it but not handling
> it for this $SUBJECT, does it sound ok to you?

Runtime suspend for eMMC has a default auto-suspend delay of 3 seconds
(refer mmc_blk_probe()).  Isn't that when auto bkops would happen?

> 
>> For the poweroff, it should be OK with a current implementation of
>> PON (mmc_poweroff_notify())
>>
>>>
>>> Also I don't know whether the firmware will reflect its status on
>>> BKOPS_STATUS or not when enabling the auto one. I will do more test.
>>>
>>> Anyway, thanks for sharing your thought.
>>> Also Adrian point out that currently we trigger manual bkosp from
>>> userspace via mmc-utils, and I agreed we shouldn't force kernel stack
>>> to enable it defaultly. So I'm prone not to update this $SUBJECT and
>>> migrate it to mmc-utils later.
>>>
>>>>
>>>> […]
>>>>
>>>> Thanks,
>>>> Alex
>>>>
>>>
>>>
>>> -- 
>>> Best Regards
>>> Shawn Lin
>>>
>>
> 
> 


  reply	other threads:[~2016-06-23  5:22 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-06  3:07 [PATCH] mmc: core: add auto bkops support Shawn Lin
     [not found] ` <1465182439-27963-1-git-send-email-shawn.lin-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-06-08 14:46   ` Alex Lemberg
2016-06-12  1:13     ` Shawn Lin
     [not found]       ` <d5c75760-e8b4-1784-a7de-3d78eeca1d0e-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-06-20 13:33         ` Alex Lemberg
     [not found]           ` <7078F2B9-63B6-4170-BFA1-5AC370F0D4DD-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-06-21  0:38             ` Jaehoon Chung
2016-06-21  1:44             ` Shawn Lin
     [not found]               ` <29966a6f-eb14-0307-08cc-f91a97f50382-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-06-22 14:08                 ` Alex Lemberg
2016-06-23  1:33                   ` Shawn Lin
2016-06-23  5:22                     ` Adrian Hunter [this message]
2016-06-27  9:08                       ` Ulf Hansson
     [not found]                         ` <CAPDyKFoxTH_-U_Aj0jHWPKbwd+4OoOYBTdOeD-6SpG4XyM=3AA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-27 11:30                           ` Alex Lemberg
2016-06-13  6:29 ` Adrian Hunter
     [not found]   ` <575E52AC.6000902-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-06-13  7:48     ` Shawn Lin
2016-06-13  8:17       ` Adrian Hunter
2016-06-13  8:58         ` Shawn Lin
2016-06-13 12:25           ` Adrian Hunter
2016-06-22 10:21             ` Ulf Hansson
     [not found]               ` <CAPDyKFq7Pr1YiacwpeDq3eAYmApydTj8Kbkyh=Cb6+vJC9BV3Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-22 14:20                 ` Alex Lemberg
     [not found]                   ` <B9A5F20C-E8A0-4E81-BA07-79E60017E728-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-06-22 14:28                     ` Ulf Hansson
2016-06-22 14:57                       ` Alex Lemberg
     [not found]                         ` <362217AA-5AE7-471A-AF58-985676E261A4-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-06-22 15:03                           ` Ulf Hansson
2016-06-23  2:08               ` Shawn Lin
2016-06-27  9:00                 ` Ulf Hansson

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=576B7211.2030208@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=Alex.Lemberg@sandisk.com \
    --cc=dianders@chromium.org \
    --cc=jh80.chung@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=shawn.lin@rock-chips.com \
    --cc=ulf.hansson@linaro.org \
    /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;
as well as URLs for NNTP newsgroup(s).