From: Brian King <brking@linux.vnet.ibm.com>
To: Matthew Wilcox <matthew@wil.cx>
Cc: James.Bottomley@HansenPartnership.com,
linux-scsi@vger.kernel.org, wenxiong@linux.vnet.ibm.com
Subject: Re: [PATCH 1/3] ipr: Reduce queuecommand lock time
Date: Tue, 17 Jul 2012 08:09:05 -0500 [thread overview]
Message-ID: <500563F1.8030507@linux.vnet.ibm.com> (raw)
In-Reply-To: <20120717020308.GA18581@parisc-linux.org>
On 07/16/2012 09:03 PM, Matthew Wilcox wrote:
> 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.
We've done performance testing of these patches and they provided
roughly a 25% increase in the number of IOPs we are able to push
through an adapter on Power. This was running on an 8 socket box with
4 way SMT, so 32 separate hardware threads.
One of the main things these patches do is to get the dma map/unmap
call from underneath the host lock. On Power, these calls have
more overhead than on some other platforms, since they end up
resulting in a hypervisor call, which can significantly increase
host lock hold times.
I'll resend with the change to not initialize the lock flags.
Thanks,
Brian
--
Brian King
Power Linux I/O
IBM Linux Technology Center
prev parent reply other threads:[~2012-07-17 13:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-16 20:48 [PATCH 1/3] ipr: Reduce queuecommand lock time Brian King
2012-07-17 2:03 ` Matthew Wilcox
2012-07-17 13:09 ` Brian King [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=500563F1.8030507@linux.vnet.ibm.com \
--to=brking@linux.vnet.ibm.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=linux-scsi@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=wenxiong@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.