Re: Enabling MMC BKOPs in kernel based on host caps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/12/2016 04:58 PM, Ulf Hansson wrote:
> On 12 October 2016 at 09:09, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
>> On 05/10/16 14:55, Ravikumar wrote:
>>> Hi Shawn,
>>>
>>>
>>> On Wednesday 05 October 2016 03:07 PM, Shawn Lin wrote:
>>>> Hi Ravikumar,
>>>>
>>>> + Alex,
>>>>
>>>> 在 2016/10/3 18:43, Ravikumar Kattekola 写道:
>>>>> Hi all,
>>>>>     I’ve seen an eMMC failure due to pending background operations on a
>>>>> certain OMAP device since bkops enable bit was not set.
>>
>> It is not clear what you are talking about. BKOPS_EN is
>> one-time-programmable so you can just set when the device is provisioned.
>>
>> However BKOPS_EN does not really enable background operations.  It is an
>> indication from the host to the card about whether the card may delay
>> maintenance operations.  The definition is:
>>
>> "This field allows the host to indicate to the device if it is expected to
>> periodically manually start background operations by writing to the
>> BKOPS_START field."
>>
>> Currently the kernel does not do periodic background operations, so having
>> the kernel set BKOPS_EN would not make sense - even if it wasn't
>> one-time-programmable.
> 
> Agree!
> 
> However, in cases when the BKOPS_EN bit has been set (in one way or
> the other), this do becomes a problem as we currently only supports
> urgent background operations.
> Perhaps we should print a warning when BKOPS_EN is set during card
> initialization, as this isn't currently supported.

When i had added the bkops features, i remembered that discussed about this.
(set BKOPS_EN from kernel..or not..)

When enable the bkops_en by default, there should be a problem...
(I'm not sure..but at that time..Chris had wanted to remove the enabling bkops by default.)

For just understanding..i added the changelog for my bkops patch.

https://patchwork.kernel.org/patch/1466501/

> 
>>
>>>>> Further investigation showed me that someone already posted patch to
>>>>> enable Background operations in kernel  based on a host capability check
>>>>> (Caps2 & BK_OPS_EN)
>>>>> but was turned down quoting that it should be enabled from user space
>>>>> using mmc-utils.
>>>>>
>>>>> Enabling this would add one additional check for exception event in the
>>>>> response R1 or R1B (only on hosts that explicitly set BK_OPS_EN in caps2).
>>>>> But not enabling this could lead to a system failure especially when the
>>>>> Filesystem is on eMMC and the card stops responding due to pending
>>>>> critical bkops.
>>
>> Yes the kernel only does urgent background operations if BKOPS_EN is set.
>> You seem to be suggesting that the cards are violating the specification by
>> delaying maintenance operations even though they are not allowed to because
>> BKOPS_EN is not set.  Is that the case?
>>
> 
> If this is the case, the solution would probably be to actually set
> the BKOPS_EN bit from the kernel, perhaps via using a card quirk.
> 
> Although, to do that, we first need to add proper background
> operations support. I guess that is what Alex intends to do here [1].
> 
> [...]
> 
> [1]
> http://www.spinics.net/lists/linux-mmc/msg38952.html
> 
> Kind regards
> Uffe
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux