Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Fri, 6 Jun 2003 09:51:53 -0700 | From | Dave Olien <> | Subject | Re: DAC960 crash dequeueing request |
| |
Mary,
How's this for a response to Andrew and lkml?
------------------------------------------------------------------------
Andrew,
After running several iterations of the database workload, it seems the patch below did indeed eliminate the BUG() we were hitting.
In addition, the patched kernel seems to perform somwhat better. The workload performance is improved by about 2%, and the standard deviation in performance between iterations of the work load was reduced from 137 to 48.
A performance results comparison can be found at
http://www.osdl.org/projects/dbt2dev/results/8way/70AKPM/results.html
Thanks to Mary Meredith <maryedie@osdl.org> for the performance measurements and comparisons, and for hitting the BUG() in the first place.
Andrew Morton wrote: > > Dave Olien wrote: > > > > In linux 2.5.70, with no patches applied, we've had one BUG of the form: > > > > kernel BUG at include/linux/blkdev.h:407! > > > > The below should fix it. > > > diff -puN drivers/block/deadline-iosched.c~deadline-hash-removal-fix drivers/block/deadline-iosched.c > --- 25/drivers/block/deadline-iosched.c~deadline-hash-removal-fix 2003-06-04 00:50:36.000000000 -0700 > +++ 25-akpm/drivers/block/deadline-iosched.c 2003-06-04 00:50:36.000000000 -0700 > @@ -121,6 +121,15 @@ static inline void deadline_del_drq_hash > __deadline_del_drq_hash(drq); > } > > +static void > +deadline_remove_merge_hints(request_queue_t *q, struct deadline_rq *drq) > +{ > + deadline_del_drq_hash(drq); > + > + if (q->last_merge == &drq->request->queuelist) > + q->last_merge = NULL; > +} > + > static inline void > deadline_add_drq_hash(struct deadline_data *dd, struct deadline_rq *drq) > { > @@ -310,7 +319,7 @@ static void deadline_remove_request(requ > struct deadline_data *dd = q->elevator.elevator_data; > > list_del_init(&drq->fifo); > - deadline_del_drq_hash(drq); > + deadline_remove_merge_hints(q, drq); > deadline_del_drq_rb(dd, drq); > } > } > > _ > > ----- End forwarded message ----- > > --=-OFfR5BGtLWFFgyRX7TNt--
- 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/
| ![\](/images/icornerr.gif) |