"Chen, Kenneth W" <[EMAIL PROTECTED]> wrote:
>
> 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%

What are these percentages?  Total CPU time?  The direct-io stuff doesn't
look too bad.  It's surprising that tweaking the direct-io submission code
makes much difference.

hm.  __blockdev_direct_IO() doesn't actually do much.  I assume your damn
compiler went and inlined direct_io_worker() on us.

-
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