- 03 Aug, 2011 1 commit
-
-
Akinobu Mita authored
init_fault_attr_dentries() is used to export fault_attr via debugfs. But it can only export it in debugfs root directory. Per Forlin is working on mmc_fail_request which adds support to inject data errors after a completed host transfer in MMC subsystem. The fault_attr for mmc_fail_request should be defined per mmc host and export it in debugfs directory per mmc host like /sys/kernel/debug/mmc0/mmc_fail_request. init_fault_attr_dentries() doesn't help for mmc_fail_request. So this introduces fault_create_debugfs_attr() which is able to create a directory in the arbitrary directory and replace init_fault_attr_dentries(). [akpm@linux-foundation.org: extraneous semicolon, per Randy] Signed-off-by:
Akinobu Mita <akinobu.mita@gmail.com> Tested-by:
Per Forlin <per.forlin@linaro.org> Cc: Jens Axboe <axboe@kernel.dk> Cc: Christoph Lameter <cl@linux-foundation.org> Cc: Pekka Enberg <penberg@kernel.org> Cc: Matt Mackall <mpm@selenic.com> Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 21 Apr, 2010 1 commit
-
-
Richard Kennedy authored
blk_rq_timed_out_timer() relied on blk_add_timer() never returning a timer value of zero, but commit 7838c15b removed the code that bumped this value when it was zero. Therefore when jiffies is near wrap we could get unlucky & not set the timeout value correctly. This patch uses a flag to indicate that the timeout value was set and so handles jiffies wrap correctly, and it keeps all the logic in one function so should be easier to maintain in the future. Signed-off-by:
Richard Kennedy <richard@rsk.demon.co.uk> Cc: stable@kernel.org Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 14 Apr, 2010 1 commit
-
-
Richard Kennedy authored
blk_rq_timed_out_timer() relied on blk_add_timer() never returning a timer value of zero, but commit 7838c15b removed the code that bumped this value when it was zero. Therefore when jiffies is near wrap we could get unlucky & not set the timeout value correctly. This patch uses a flag to indicate that the timeout value was set and so handles jiffies wrap correctly, and it keeps all the logic in one function so should be easier to maintain in the future. Signed-off-by:
Richard Kennedy <richard@rsk.demon.co.uk> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 28 Apr, 2009 1 commit
-
-
Tejun Heo authored
* In blk_rq_timed_out_timer(), else { if } to else if * In blk_add_timer(), simplify if/else block [ Impact: cleanup ] Signed-off-by:
Tejun Heo <tj@kernel.org>
-
- 24 Apr, 2009 1 commit
-
-
Hannes Reinecke authored
Very rarely under stress testing of dm, oopses are occuring as something tampers with an old stack frame. This has been traced back to blk_abort_queue() leaving a timeout_list pointing to the stack. The reason is that sometimes blk_abort_request() won't delete the timer (if the request is marked as complete but before the timer has been removed, a small race window). Fix this by splicing back from the ususally empty list to the q->timeout_list. Signed-off-by:
Hannes Reinecke <hare@suse.de> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 22 Apr, 2009 1 commit
-
-
Jens Axboe authored
There's nothing to do for those devices, since the timeout handling is based on requests. Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 18 Feb, 2009 1 commit
-
-
Hannes Reinecke authored
blk_abort_queue() iterates the timeout list and aborts each request on the list, but if the driver error handling readds a request to the timeout list during this processing, we could be looping forever. Fix this by splicing current entries to a local list and run over that list instead. Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 29 Dec, 2008 3 commits
-
-
Jens Axboe authored
For sync IO, we'll often do them serialized. This means we'll be touching the queue timer for every IO, as opposed to only occasionally like we do for queued IO. Instead of deleting the timer when the last request is removed, just let continue running. If a new request comes up soon we then don't have to readd the timer again. If no new requests arrive, the timer will expire without side effect later. This improves high iops sync IO by ~1%. Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Jens Axboe authored
Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
malahal@us.ibm.com authored
Now the rq->deadline can't be zero if the request is in the timeout_list, so there is no need to have next_set. There is no need to access a request's deadline field if blk_rq_timed_out is called on it. Signed-off-by:
Malahal Naineni <malahal@us.ibm.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 06 Nov, 2008 1 commit
-
-
Alan Stern authored
This patch (as1159b) changes the timeout routines in the block core to use round_jiffies_up(). There's no point in rounding the timer deadline down, since if it expires too early we will have to restart it. The patch also removes some unnecessary tests when a request is removed from the queue's timer list. Signed-off-by:
Alan Stern <stern@rowland.harvard.edu> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 09 Oct, 2008 4 commits
-
-
Jens Axboe authored
We cannot abort a request if we raced with the timeout handler already, or with the IO completion. So make blk_abort_request() mark the request as complete, and only continue if we succeeded. Found and suggested by Mike Anderson <andmike@linux.vnet.ibm.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Jens Axboe authored
Only works for the generic request timer handling. Allows one to sporadically ignore request completions, thus exercising the timeout handling. Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Mike Anderson authored
Signed-off-by:
Mike Anderson <andmike@linux.vnet.ibm.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Jens Axboe authored
Right now SCSI and others do their own command timeout handling. Move those bits to the block layer. Instead of having a timer per command, we try to be a bit more clever and simply have one per-queue. This avoids the overhead of having to tear down and setup a timer for each command, so it will result in a lot less timer fiddling. Signed-off-by:
Mike Anderson <andmike@linux.vnet.ibm.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-