Re: [PATCH] scsi: Convert scsi_host->cmd_serial_number to oddnumbered atomic_t counter

From: James Bottomley
Date: Wed Nov 17 2010 - 11:10:23 EST


On Thu, 2010-11-11 at 14:36 -0800, Mike Anderson wrote:
> James Bottomley <James.Bottomley@xxxxxxx> wrote:
> > On Thu, 2010-11-11 at 13:37 -0800, Nicholas A. Bellinger wrote:
> > >
> > > ..snip..
> > >
> > > Sounds good to me, but you will recall the last attempt to make
> > > scsi_cmd_get_serial() optional for the special case LLDs, that we
> > > started running quickly in the legacy usage of cmd->serial_number in
> > > scsi_softirq_done() and the side effects in scsi_try_to_abort_cmd(), who
> > > use is complex enough that we have not found a proper resolution
> > > sufficent to andmike discussed here:
> >
> > Yes, that's what I meant by "eliminate the overloading of the serial
> > number zero value" above. This needs fixing before the serial number
> > can be dumped for fast hba drivers.
> >
>
> In the last email referenced below I believed that since
> scsi_softirq_done is calling scsi_eh_scmd_add without the
> SCSI_EH_CANCEL_CMD flag set this will stop scsi_try_to_abort_cmd from
> being called. Since scsi_softirq_done is the one setting serial_number
> to 0 I do not believe we can hit the serial number == 0 check in
> scsi_try_to_abort_cmd anymore.
>
> > > http://marc.info/?l=linux-scsi&m=128820726325009&w=2

I buy this. The REQ_ATOM_COMPLETE flag in the block layer now mediates
timer vs completion atomically ... so either one or the other is allowed
to occur.

James


--
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/