===== drivers/block/deadline-iosched.c 1.7 vs edited ===== --- 1.7/drivers/block/deadline-iosched.c Fri Oct 4 19:52:08 2002 +++ edited/drivers/block/deadline-iosched.c Mon Oct 21 00:44:35 2002 @@ -118,6 +118,8 @@ while ((entry = next) != hash_list) { next = entry->next; + prefetch(next); + drq = list_entry_hash(entry); BUG_ON(!drq->hash_valid_count); @@ -191,6 +193,8 @@ while ((entry = entry->prev) != sort_list) { __rq = list_entry_rq(entry); + prefetch(entry->prev); + BUG_ON(__rq->flags & REQ_STARTED); if (!(__rq->flags & REQ_CMD)) @@ -297,6 +301,8 @@ do { struct list_head *nxt = rq->queuelist.next; int this_rq_cost; + + prefetch(nxt); /* * take it off the sort and fifo list, move