diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2010-06-05 10:35:29 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2010-06-05 10:35:29 -0400 |
commit | cc44826a26b12b2489bc7dbb597fcdf107f2cc01 (patch) | |
tree | 98a7958212ac61345300944f512a949e5ee3e513 /include/linux/blkdev.h | |
parent | 482e6f8466ab1066f1a969bcdbe916b56439622c (diff) | |
parent | 7f0d384cafabfbb56663ee6944c18fc0450fc5d6 (diff) | |
download | op-kernel-dev-cc44826a26b12b2489bc7dbb597fcdf107f2cc01.zip op-kernel-dev-cc44826a26b12b2489bc7dbb597fcdf107f2cc01.tar.gz |
Merge branch 'master' into for-linus
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 8b7f5e0..09a8402 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1211,14 +1211,23 @@ struct work_struct; int kblockd_schedule_work(struct request_queue *q, struct work_struct *work); #ifdef CONFIG_BLK_CGROUP +/* + * This should not be using sched_clock(). A real patch is in progress + * to fix this up, until that is in place we need to disable preemption + * around sched_clock() in this function and set_io_start_time_ns(). + */ static inline void set_start_time_ns(struct request *req) { + preempt_disable(); req->start_time_ns = sched_clock(); + preempt_enable(); } static inline void set_io_start_time_ns(struct request *req) { + preempt_disable(); req->io_start_time_ns = sched_clock(); + preempt_enable(); } static inline uint64_t rq_start_time_ns(struct request *req) |