diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-10-17 13:56:48 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2011-10-24 03:21:44 +0000 |
commit | cc5d0f0f61645ca43d9a7320ec2f268bad5016c5 (patch) | |
tree | 4e6857339fed505ed1b373941126ff1e1e37a0ba /kernel/range.c | |
parent | e99d48a62bfc6e64548e0d5085240c5024eca471 (diff) | |
download | linux-rt-cc5d0f0f61645ca43d9a7320ec2f268bad5016c5.tar.gz |
target: stop task timers earlier
Currently we stop the timers for all tasks in a command fairly late during
I/O completion, which is fairly pointless and requires all kinds of safety
checks.
Instead delete pending timers early on in transport_complete_task, thus
ensuring no new timers firest after that. We take t_state_lock a bit later
in that function thus making sure currenly running timers are out of the
criticial section. To be completely sure the timer has finished we also
add another del_timer_sync call when freeing the task.
This also allows removing TF_TIMER_RUNNING as it would be equivalent
to TF_ACTIVE now.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'kernel/range.c')
0 files changed, 0 insertions, 0 deletions