Andrew Morton wrote on Wednesday, March 09, 2005 2:45 PM
> >
> > > Did you generate a kernel profile?
> >
> >  Top 40 kernel hot functions, percentage is normalized to kernel 
> > utilization.
> >
> >  _spin_unlock_irqrestore            23.54%
> >  _spin_unlock_irq                   19.27%
>
> Cripes.
>
> Is that with CONFIG_PREEMPT?  If so, and if you disable CONFIG_PREEMPT,
> this cost should be accounting the the spin_unlock() caller and we can see
> who the culprit is.   Perhaps dio->bio_lock.

CONFIG_PREEMPT is off.

Sorry for all the confusion, I probably shouldn't post the first profile
to confuse people.  See 2nd profile that I posted earlier (copied here again).

scsi_request_fn         7.54%
finish_task_switch      6.25%
__blockdev_direct_IO    4.97%
__make_request          3.87%
scsi_end_request                3.54%
dio_bio_end_io          2.70%
follow_hugetlb_page     2.39%
__wake_up                       2.37%
aio_complete            1.82%
kmem_cache_alloc                1.68%
__mod_timer                     1.63%
e1000_clean                     1.57%
__generic_file_aio_read 1.42%
mempool_alloc           1.37%
put_page                        1.35%
e1000_intr                      1.31%
schedule                        1.25%
dio_bio_complete                1.20%
scsi_device_unbusy      1.07%
kmem_cache_free         1.06%
__copy_user                     1.04%
scsi_dispatch_cmd               1.04%
__end_that_request_first1.04%
generic_make_request    1.02%
kfree                           0.94%
__aio_get_req           0.93%
sys_pread64                     0.83%
get_request                     0.79%
put_io_context          0.76%
dnotify_parent          0.73%
vfs_read                        0.73%
update_atime            0.73%
finished_one_bio                0.63%
generic_file_aio_write_nolock   0.63%
scsi_put_command                0.62%
break_fault                     0.62%
e1000_xmit_frame                0.62%
aio_read_evt            0.59%
scsi_io_completion      0.59%
inode_times_differ      0.58%


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to