Re: FW: [PATCH] qla2xxx: Fix a regression due to refactoring in interrupt handler code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2009-04-28 at 22:53 -0700, Anirban Chakraborty wrote:
> My reply to Douglas missed the scsi list, sorry about it. Resending it here.

I really think you need a better mail tool.  Your reply is almost
impossible to spot in the text below.

> ________________________________________
> From: Styner, Douglas W [douglas.w.styner@xxxxxxxxx]
> Sent: Tuesday, April 28, 2009 2:31 PM
> To: Anirban Chakraborty; andi@xxxxxxxxxxxxxx; James.Bottomley@xxxxxxxxxxxxxxxxxxxxx
> Cc: linux-scsi@xxxxxxxxxxxxxxx; Linux Driver; Ma, Chinang; Wilcox, Matthew R; willy@xxxxxxxxxxxxxxx; Tripathi, Sharad C
> Subject: RE: [PATCH] qla2xxx: Fix a regression due to refactoring in interrupt handler code
> 
> > Anirban Chakraborty <anirban.chakraborty@xxxxxxxxxx> writes:
> >
> >From: Anirban Chakraborty [mailto:anirban.chakraborty@xxxxxxxxxx]
> >Sent: Tuesday, April 28, 2009 9:28 AM
> >To: Styner, Douglas W; andi@xxxxxxxxxxxxxx;
> >James.Bottomley@xxxxxxxxxxxxxxxxxxxxx
> >Cc: linux-scsi@xxxxxxxxxxxxxxx; linux-driver@xxxxxxxxxx
> >Subject: [PATCH] qla2xxx: Fix a regression due to refactoring in interrupt
> >handler code
> >
> >Remove unnecessary search for a response completion host when driver is
> >running
> >in single queue mode. This should fix the increased cycles seen in
> >qla24xx_intr_handler code.
> >
> >Please apply.
> >Thanks,
> >Anirban
> >
> >Reported-by: Styner, Douglas W <douglas.w.styner@xxxxxxxxx>
> >Signed-off-by: Anirban Chakraborty <anirban.chakraborty@xxxxxxxxxx>
> 
> There is no significant impact from this patch.  The net effect of this patch when using MSI is to replace calls to qla2x00_get_rsp_host(), which calls the in-lined function pci_get_drvdata(), with direct calls to pci_get_drvdata().  qla2x00_get_rsp_host is very inexpensive (~0.0117%), so removing does not have a significant impact.

It begins here:

> The number of interrupts have gone up significantly between 2.6.24.2 and 2.6.30-rc3. As a matter of fact, it has gone up from 2.6.27.2, please see below,
> http://markmail.org/message/f3ut7d5tqd4xsmbm#query:+page:1+mid:ueql52x45mbgnrod+state:results
> I’d think that increased interrupts is definitely a reason for increase in cycles in the ISR. However, I am looking further to see if we are missing any other holes.
> Thanks,
> Anirban

And ends here.

> Linux OLTP Performance summary
> Kernel#            Speedup(x)   Intr/s  CtxSw/s us%     sys%    idle%   iowait%
> 2.6.30-rc3              1.000   30645   43027   75      25      0       0
> 2.6.30-rc3_qla2xxx      0.999   30737   43256   75      25      0       0
> 
> Server configurations:
> Intel Xeon Quad-core 2.0GHz  2 cpus/8 cores/8 threads
> 64GB memory, 3 qle2462 FC HBA, 450 spindles (30 logical units)
> 
> 
> ======oprofile CPU_CLK_UNHALTED for top 30 functions
> Cycles% 2.6.30-rc3                 Cycles% 2.6.30-rc3_qla2xxx
> 69.1925 <database>                 67.8477 <database>
> 1.1314 qla24xx_intr_handler        1.2426 qla24xx_start_scsi
> 1.0031 qla24xx_start_scsi          1.1148 qla24xx_intr_handler
> 0.8476 __schedule                  0.8508 kmem_cache_alloc
> 0.6532 kmem_cache_alloc            0.8021 __schedule
> 0.4490 __blockdev_direct_IO        0.5179 __blockdev_direct_IO
> 0.4199 __sigsetjmp                 0.4456 __sigsetjmp
> 0.3946 __switch_to                 0.3952 scsi_request_fn
> 0.3538 __list_add                  0.3817 __switch_to
> 0.3499 task_rq_lock                0.3716 task_rq_lock
> 0.3402 scsi_request_fn             0.3481 __list_add
> 0.3382 rb_get_reader_page          0.3380 rb_get_reader_page
> 0.3363 copy_user_generic_string    0.3178 ring_buffer_consume
> 0.3324 aio_complete                0.2993 aio_complete
> 0.3110 try_to_wake_up              0.2993 copy_user_generic_string
> 0.2877 ring_buffer_consume         0.2741 try_to_wake_up
> 0.2683 mod_timer                   0.2623 blk_queue_end_tag
> 0.2605 qla2x00_process_completed_re0.2573 lock_timer_base
> 0.2566 blk_queue_end_tag           0.2522 memset_c
> 0.2566 generic_make_request        0.2472 memmove
> 0.2547 tcp_sendmsg                 0.2472 qla2x00_process_completed_re
> 0.2372 lock_timer_base             0.2270 generic_make_request
> 0.2333 memmove                     0.2253 mod_timer
> 0.2294 memset_c                    0.2186 __make_request
> 0.2080 mempool_free                0.2136 scsi_device_unbusy
> 0.2022 generic_file_aio_read       0.2136 kmem_cache_free
> 0.1963 scsi_device_unbusy          0.2119 mempool_free
> 0.1963 plist_del                   0.2018 kref_get
> 0.1944 dequeue_rt_stack            0.2018 plist_del
> 0.1924 e1000_xmit_frame            0.1984 ipc_lock
> 
> Doug
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux