Re: [PATCH scsi-misc-2.6 04/08] scsi: remove meaningless volatilequalifiers from structure definitions

From: Jeff Garzik
Date: Tue Mar 22 2005 - 23:23:51 EST


James Bottomley wrote:
On Wed, 2005-03-23 at 11:14 +0900, Tejun Heo wrote:

scsi_device->device_busy, Scsi_Host->host_busy and
->host_failed have volatile qualifiers, but the qualifiers
don't serve any purpose. Kill them. While at it, protect
->host_failed update in scsi_error for consistency and clarity.


Well ... the data here is volatile so what you're advocating is a move
away from a volatile variable model to a protected variable one ... did
you audit all users of both of these to make sure we have protection on
all of them? It looks like the sata strategy handlers would still rely
on the volatile data.

volatile is almost always (a) buggy, or (b) hiding bugs. At the very least, barriers are usually needed.

Almost every case really wants to be inside a spinlock, or atomic_t, or similarly protected.

Specifically for SATA, I am making the presumption that SCSI is smart enough not to mess with host_failed until my error handler completes.

Jeff


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