Messages in this thread | | | Subject | Re: [BUG] 2.6.29-rc6-2450cf in scsi_lib.c (was: Large amount of scsi-sgpool)objects | From | James Bottomley <> | Date | Wed, 04 Mar 2009 18:13:49 -0600 |
| |
On Wed, 2009-03-04 at 22:56 +0000, James Bottomley wrote: > On Wed, 2009-03-04 at 22:45 +0100, Thomas Gleixner wrote: > > On Wed, 4 Mar 2009, Thomas Gleixner wrote: > > > > Instrumented the code and the result of the failing request is > > below. Looks like the function which sets up the request gets > > nr_phys_segments wrong by one. > > > > If you need further trace data feel free to ask. > > OK, the mapping all checks out correctly ... there must be something > wrong with the way we count before mapping. > > If you're tracing everything, could you add these static prints to the > trace ... they'll trigger a lot, but capturing how they applied to the > failing request might tell us why the count is wrong.
Debugging this on IRC, this is the point we reached:
ftrace debugging patch:
http://tglx.de/~tglx/dbg.patch
We're tracing both blk_recalc_rq_segments() and blk_phys_contig_segment()
The results are here:
http://tglx.de/~tglx/t.txt.bz2
Although what they show is that we're missing the point where the counting goes wrong (blk_recalc_rq_segments only goes up to 5 max).
James
| |