Re: More information on scsi_cmd_cache leak... (bisect)

From: Jens Axboe
Date: Fri Jan 27 2006 - 15:03:42 EST


On Fri, Jan 27 2006, Chase Venters wrote:
> On Fri, 27 Jan 2006, Jens Axboe wrote:
>
> >On Fri, Jan 27 2006, Mike Christie wrote:
> >>James Bottomley wrote:
> >>>On Fri, 2006-01-27 at 13:06 -0600, Mike Christie wrote:
> >>>
> >>>>It does not have anything to do with this in scsi_io_completion does it?
> >>>>
> >>>> if (blk_complete_barrier_rq(q, req, good_bytes >> 9))
> >>>> return;
> >>>>
> >>>>For that case the scsi_cmnd does not get freed. Does it come back around
> >>>>again and get released from a different path?
> >>>
> >>>
> >>>It looks such a likely candidate, doesn't it. Unfortunately, Tejun Heo
> >>>removed that code around 6 Jan (in [BLOCK] update SCSI to use new
> >>>blk_ordered for barriers), so if it is that, then the latest kernels
> >>>should now not be leaking.
> >>>
> >>
> >>Oh, I thought the reports were for 2.6.15 and below which has that
> >>scsi_io_completion test. Have there been reports for this with
> >>2.6.16-rc1 too?
> >
> >The reports of leaks are only with > 2.6.15, not with 2.6.15.
> >
>
> Correction... my leak is with 2.6.15. I discovered it originally in an
> NVIDIA-tainted, sk98lin-patched 2.6.15, but my bisect was stock 2.6.15
> (bad) to 2.6.14 (good) in Linus's tree, sans any tainting or
> modifications.
>
> I haven't actually tried building the latest Linus kernel from git. I'll
> do a pull and give it a try when I get home.

Ah, so the raid barrier stuff predates 2.6.15, I didn't think it did.
Can you try 2.6.16-rc1 at least? If this is the blk_complete_barrier()
leak, then it's not so interesting.

As a work around, please try (in 2.6.15) to set ordered_flush to 0 in
the scsi host template for your sata driver.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/