On 19/01/12 17:32, S, Venkatraman wrote: > On Thu, Jan 19, 2012 at 5:14 PM, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: >> On 19/01/12 13:33, Jaehoon Chung wrote: >>> Hi Adrian. >>> >>> On 01/19/2012 07:21 PM, Adrian Hunter wrote: >>> >>>> On 19/01/12 07:29, Jaehoon Chung wrote: >>>>> Enable eMMC background operations (BKOPS) feature. >>>>> >>>>> If URGENT_BKOPS is set after a response, note that BKOPS >>>>> are required. After all I/O requests are finished, run >>>>> BKOPS if required. Should read/write operations be requested >>>>> during BKOPS, first issue HPI to interrupt the ongoing BKOPS >>>>> and then service the request. >>>> >>>> This still does not seem to address my earlier comment which was: >>>> >>>> The main problem with bkops is: >>>> >>>> If the status is at level 3 ("critical"), some operations >>>> may extend beyond their original timeouts due to maintenance >>>> operations which cannot be delayed anymore. >>>> >>>> This means: >>>> >>>> 1. at level 3 either bkops are run or the timeout of the next >>>> (data?) operation is extended >>>> >>>> 2. at level 3 either the bkops must not be interrupted or the >>>> level must be rechecked after interruption and bkops run again >>>> if the level is still 3, or the timeout of the next (data?) >>>> operation is extended >>>> >>> >>> This patch didn't issue the HPI when bkops-status is level2-3 >>> (URGENT_BKOPS case). >>> I didn't understand that must be recheck?? it's case of using HPI..? >>> If HPI didn't issue,though must be recheck bkops status? >>> And level-1 control should be considered for future-work. >>> I will also modify the patch comment..it's confused something. >> >> 1. Say there are 2 write requests queued and after the first write request >> the bkops level is 3. That means the 2nd write request may timeout because >> the normal timeout rules do not apply. >> >> Thus: >> 1. at level 3 either bkops are run or the timeout of the next >> (data?) operation is extended >> >> 2. Say you are running bkops because the level was 3 and a write request >> arrives. You use HPI to interrupt the bkops, but the bkops level may still >> be 3, so the write request may timeout. Hence: >> >> 2. at level 3 either the bkops must not be interrupted or the >> level must be rechecked after interruption and bkops run again >> if the level is still 3, or the timeout of the next (data?) >> operation is extended >> > > A naive question perhaps, but don't the current timeout values include > sufficient > buffer to do implicit garbage collection anyways ? Maybe, but the problem is the JEDEC specification says otherwise. This bit is a quote: If the status is at level 3 ("critical"), some operations may extend beyond their original timeouts due to maintenance operations which cannot be delayed anymore. I think level 3 is a very rare case so I would just run bkops and wait for it to finish without interruption. -- 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