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