On Mon, Jul 16, 2012 at 03:48:08PM -0500, Brian King wrote:
+static int ipr_queuecommand(struct Scsi_Host *shost,
+ struct scsi_cmnd *scsi_cmd)
{
struct ipr_ioa_cfg *ioa_cfg;
struct ipr_resource_entry *res;
struct ipr_ioarcb *ioarcb;
struct ipr_cmnd *ipr_cmd;
+ unsigned long lock_flags = 0;
You don't need to initialise lock_flags.
Looking at the rest of the code, you drop the lock in the middle,
then re-acquire it. That'll help with hold time, but I'm not convinced
it'll help with performance. Have you done performance testing with
these changes? I seem to remember we used an eight-socket box to show
host_lock problems in the past.
--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."