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
>>>
>>
>
>
next prev parent 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).