Subject: fs-block-rt-support.patch From: Thomas Gleixner Date: Tue, 14 Jun 2011 17:05:09 +0200 Signed-off-by: Thomas Gleixner --- block/blk-core.c | 2 +- fs/file.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) Index: linux-3.4/block/blk-core.c =================================================================== --- linux-3.4.orig/block/blk-core.c +++ linux-3.4/block/blk-core.c @@ -237,7 +237,7 @@ EXPORT_SYMBOL(blk_delay_queue); **/ void blk_start_queue(struct request_queue *q) { - WARN_ON(!irqs_disabled()); + WARN_ON_NONRT(!irqs_disabled()); queue_flag_clear(QUEUE_FLAG_STOPPED, q); __blk_run_queue(q); Index: linux-3.4/fs/file.c =================================================================== --- linux-3.4.orig/fs/file.c +++ linux-3.4/fs/file.c @@ -105,14 +105,14 @@ void free_fdtable_rcu(struct rcu_head *r kfree(fdt->open_fds); kfree(fdt); } else { - fddef = &get_cpu_var(fdtable_defer_list); + fddef = &per_cpu(fdtable_defer_list, get_cpu_light()); spin_lock(&fddef->lock); fdt->next = fddef->next; fddef->next = fdt; /* vmallocs are handled from the workqueue context */ schedule_work(&fddef->wq); spin_unlock(&fddef->lock); - put_cpu_var(fdtable_defer_list); + put_cpu_light(); } }