public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <matthew@wil.cx>
To: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Cc: "Styner, Douglas W" <douglas.w.styner@intel.com>,
	"James.Bottomley@HansenPartnership.com"
	<James.Bottomley@HansenPartnership.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"Tripathi, Sharad C" <sharad.c.tripathi@intel.com>,
	"Ma, Chinang" <chinang.ma@intel.com>,
	"Prickett, Terry O" <terry.o.prickett@intel.com>,
	"Wilcox, Matthew R" <matthew.r.wilcox@intel.com>
Subject: Re: [PATCH] qla2xxx: Resolved a performance issue in interrupt handler
Date: Wed, 10 Jun 2009 10:18:28 -0600	[thread overview]
Message-ID: <20090610161828.GT3274@parisc-linux.org> (raw)
In-Reply-To: <38D5FA1B-4CCC-46FB-8793-4131AF6AAD05@qlogic.com>

On Wed, Jun 10, 2009 at 09:09:14AM -0700, Anirban Chakraborty wrote:
>
> On Jun 10, 2009, at 8:52 AM, Styner, Douglas W wrote:
>
>>
>> Anirban Chakraborty [mailto:anirban.chakraborty@qlogic.com] write:
>>>
>>> You got it right. Basically we are doing:
>>> 1. baseline scsi-misc + earlier patch
>>> 2. baseline scsi-misc + this patch
>>> And then compare 1 and 2.
>>
>> Results are as follows:
>> Total interrupts are down slightly (-0.8%), QLA interrupts are flat  
>> (-0.1%) Cycles for qla2xxx_intr_handler up from .77% to .92%.
>
> So, it looks like using spin_lock_irqsave is doing a better job than  
> globally disabling the sharing of the interrupt via IRQF_DISABLED.

The margin of error for this setup is about 0.3% for the performance
as a whole.  I don't know what the margin of error is for the number
of cycles consumed by a given function, but I would suspect it's
significantly higher than the 0.15% difference seen.

>> ======oprofile CPU_CLK_UNHALTED for top 30 functions
>> Cycles% 2.6.30-rc6_scsi-misc_0001   Cycles% 2.6.30-rc6_scsi-misc_irqf-d
>> 68.1402 <database>                  66.1875 <database>
>> 0.9125 qla24xx_start_scsi            0.9552 qla24xx_start_scsi
>> 0.8729 __schedule                    0.9272 __schedule
>> 0.7739 qla24xx_intr_handler          0.9178 qla24xx_intr_handler
>> 0.7161 kmem_cache_alloc              0.7963 kmem_cache_alloc
>> 0.4686 __sigsetjmp                   0.4580 __sigsetjmp
>> 0.4043 __blockdev_direct_IO          0.4206 __switch_to
>> 0.3894 __switch_to                   0.4169 __blockdev_direct_IO
>> 0.3878 rb_get_reader_page            0.3907 scsi_request_fn
>> 0.3762 task_rq_lock                  0.3776 task_rq_lock
>> 0.3729 scsi_request_fn               0.3701 rb_get_reader_page
>> 0.3696 __list_add                    0.3664 __list_add
>> 0.3168 <bash>                        0.3664 copy_user_generic_string
>> 0.3135 try_to_wake_up                0.3122 lock_timer_base
>> 0.2921 ring_buffer_consume           0.2972 ring_buffer_consume
>> 0.2822 lock_timer_base               0.2879 <bash>
>> 0.2624 memset_c                      0.2785 aio_complete
>> 0.2607 aio_complete                  0.2524 blk_queue_end_tag
>> 0.2508 copy_user_generic_string      0.2468 try_to_wake_up
>> 0.2294 qla2x00_process_completed_re  0.2430 tcp_sendmsg
>> 0.2294 tcp_sendmsg                   0.2393 mod_timer
>> 0.2211 kfree                         0.2374 qla2x00_process_completed_re
>> 0.2195 memmove                       0.2355 memset_c
>> 0.2195 blk_queue_end_tag             0.2225 e1000_xmit_frame
>> 0.2145 scsi_softirq_done             0.2094 generic_make_request
>> 0.2145 mod_timer                     0.2075 scsi_device_unbusy
>> 0.2129 generic_file_aio_read         0.2056 kref_get
>> 0.2096 kref_get                      0.2056 mempool_free
>> 0.1997 e1000_xmit_frame              0.2038 qla2xxx_queuecommand
>> 0.1997 scsi_device_unbusy            0.2000 kfree
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
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."

  parent reply	other threads:[~2009-06-10 16:18 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-09 18:42 [PATCH] qla2xxx: Resolved a performance issue in interrupt handler Anirban Chakraborty
2009-06-09 19:32 ` James Bottomley
2009-06-09 20:34   ` Anirban Chakraborty
2009-06-09 20:40     ` James Bottomley
2009-06-09 21:28       ` Giridhar Malavali
2009-06-09 21:41         ` Matthew Wilcox
2009-06-09 21:46         ` James Bottomley
2009-06-09 21:40       ` Anirban Chakraborty
2009-06-09 21:43         ` Matthew Wilcox
2009-06-09 21:46           ` Anirban Chakraborty
2009-06-09 21:47             ` Matthew Wilcox
2009-06-09 22:30               ` Anirban Chakraborty
     [not found]         ` <D7C42C27E6CB1E4D8CBDF2F81EA92A26035402EBA0@azsmsx501.amr.corp.intel.com>
     [not found]           ` <2796FDDF-31EA-44E2-8856-84A22F31A01F@qlogic.com>
2009-06-10 15:52             ` Styner, Douglas W
2009-06-10 16:09               ` Anirban Chakraborty
2009-06-10 16:17                 ` James Bottomley
2009-06-10 16:18                 ` Matthew Wilcox [this message]
2009-06-10 18:29                   ` Anirban Chakraborty
2009-06-10 18:32                   ` [PATCH] qla2xxx: Resolved a performance issue in interrupt Andrew Vasquez
2009-06-10 19:10                     ` James Bottomley
2009-06-10 19:48                       ` Matthew Wilcox
2009-06-10 20:55                       ` Anirban Chakraborty
2009-06-12 22:48                         ` Styner, Douglas W
2009-06-12 22:52                         ` [PATCH] qla2xxx: Resolved a performance issue in interrupt - this time with data Styner, Douglas W
2009-06-12 23:32                           ` Anirban Chakraborty
     [not found] <B8134F80-B547-4E04-890A-6B646D2BA3E8@qlogic.com>

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=20090610161828.GT3274@parisc-linux.org \
    --to=matthew@wil.cx \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=anirban.chakraborty@qlogic.com \
    --cc=chinang.ma@intel.com \
    --cc=douglas.w.styner@intel.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=matthew.r.wilcox@intel.com \
    --cc=sharad.c.tripathi@intel.com \
    --cc=terry.o.prickett@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox