(In reply to comment #105)
I have tried the patch with 2.6.28.2 and 2.6.29-rc3 and always get a crash, when io start. Sometimes even after the X-server has started.
kernel 2.6.29-rc3 at
cfq_remove_request 0xe3/0x251
0xffffffff811ca8fc is in cfq_remove_request (block/cfq-iosched.c:650). 645 { 646 struct cfq_queue *cfqq = RQ_CFQQ(rq); 647 struct cfq_data *cfqd = cfqq->cfqd; 648 const int sync = rq_is_sync(rq); 649 650 BUG_ON(!cfqq->queued[sync]); 651 cfqq->queued[sync]--; 652 653 elv_rb_del(&cfqq->sort_list, rq); 654
kernel 2.6.28.2 elv_rb_del+0x21/0x4b
394 } 395 EXPORT_SYMBOL(elv_rb_add); 396 397 void elv_rb_del(struct rb_root *root, struct request *rq) 398 { 399 BUG_ON(RB_EMPTY_NODE(&rq->rb_node)); 400 rb_erase(&rq->rb_node, root); 401 RB_CLEAR_NODE(&rq->rb_node); 402 } 403 EXPORT_SYMBOL(elv_rb_del);
(In reply to comment #105)
I have tried the patch with 2.6.28.2 and 2.6.29-rc3 and always get a crash, when io start. Sometimes even after the X-server has started.
kernel 2.6.29-rc3 at
cfq_remove_request 0xe3/0x251
0xffffffff811ca8fc is in cfq_remove_request (block/ cfq-iosched. c:650). !cfqq-> queued[ sync]); sync]-- ; del(&cfqq- >sort_list, rq);
645 {
646 struct cfq_queue *cfqq = RQ_CFQQ(rq);
647 struct cfq_data *cfqd = cfqq->cfqd;
648 const int sync = rq_is_sync(rq);
649
650 BUG_ON(
651 cfqq->queued[
652
653 elv_rb_
654
kernel 2.6.28.2 del+0x21/ 0x4b
elv_rb_
394 } SYMBOL( elv_rb_ add); RB_EMPTY_ NODE(&rq- >rb_node) ); &rq->rb_ node, root); NODE(&rq- >rb_node) ; SYMBOL( elv_rb_ del);
395 EXPORT_
396
397 void elv_rb_del(struct rb_root *root, struct request *rq)
398 {
399 BUG_ON(
400 rb_erase(
401 RB_CLEAR_
402 }
403 EXPORT_