Messages in this thread | | | Date | Mon, 31 Oct 2011 15:51:02 +0530 | Subject | Re: Multi-partition block layer behaviour | From | Tiju Jacob <> |
| |
>> ok, thanks. So this means the elevator is switching in the test. How >> about below patch: >> >> diff --git a/block/elevator.c b/block/elevator.c >> index a3b64bc..e14824a 100644 >> --- a/block/elevator.c >> +++ b/block/elevator.c >> @@ -683,8 +683,13 @@ void __elv_add_request(struct request_queue *q, struct request *rq, int where) >> * - Usually, back inserted requests won't be merged >> * with anything. There's no point in delaying queue >> * processing. >> + * If elevator is switching, doesn't need run the queue. >> + * elevator switching will run it anyway. And this could >> + * cause warning since the code might run in atomic >> + * environment(blk_flush_plug_list() callbed in schedule()) >> */ >> - __blk_run_queue(q); >> + if (!test_bit(QUEUE_FLAG_ELVSWITCH, &q->queue_flags)) >> + __blk_run_queue(q); >> break; >> >> case ELEVATOR_INSERT_SORT_MERGE: >> >> > oh, wait. We should have no this issue with latest kernel, because > blk_schedule_flush_plug is moved out of schedule atomic environment. please > try a latest kernel, for example, 3.1. >
Even after applying the above patch, I am getting the same error. We have to use the linux 3.0.* kernel series. So is there a fix for the 3.0 series? We'll defenetly check with the 3.1 kernel and let know.
Thanks, --TJ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |