Mainline kernel OLTP performance update

From: Styner, Douglas W
Date: Tue Apr 28 2009 - 13:22:47 EST


Summary: Measured the mainline kernel from kernel.org (2.6.29.2).

The regression for 2.6.29.2 against the baseline, 2.6.24.2 is 2.07% (2.6.29.1 regression was 2.35%). Oprofile reports 70.419% user, 29.5709% system. 2.6.29.1 -> 2.6.29.2 comparison is below.

Linux OLTP Performance summary
Kernel# Speedup(x) Intr/s CtxSw/s us% sys% idle% iowait%
2.6.24.2 1.000 22106 43709 75 24 0 0
2.6.29.2 0.979 30509 43139 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.24.2 Cycles% 2.6.29.2
74.8578 <database> 67.7080 <database>
1.0500 qla24xx_start_scsi 0.9487 qla24xx_intr_handler
0.8089 schedule 0.8117 schedule
0.5864 kmem_cache_alloc 0.6215 qla24xx_wrt_req_reg
0.4989 __blockdev_direct_IO 0.5439 kmem_cache_alloc
0.4357 __sigsetjmp 0.4784 qla24xx_start_scsi
0.4152 copy_user_generic_string 0.4703 __blockdev_direct_IO
0.3953 qla24xx_intr_handler 0.4416 try_to_wake_up
0.3850 memcpy 0.4253 __sigsetjmp
0.3596 scsi_request_fn 0.3803 scsi_request_fn
0.3188 __switch_to 0.3701 __switch_to
0.2889 lock_timer_base 0.3619 copy_user_generic_string
0.2750 memmove 0.3476 rb_get_reader_page
0.2519 task_rq_lock 0.3149 symbols)
0.2474 aio_complete 0.3006 aio_complete
0.2460 scsi_alloc_sgtable 0.2903 memset_c
0.2445 generic_make_request 0.2883 ring_buffer_consume
0.2263 qla2x00_process_completed_re0.2719 lock_timer_base
0.2118 blk_queue_end_tag 0.2699 __list_add
0.2085 dio_bio_complete 0.2474 blk_queue_end_tag
0.2021 e1000_xmit_frame 0.2453 memmove
0.2006 __end_that_request_first 0.2392 e1000_xmit_frame
0.1954 generic_file_aio_read 0.2290 ipc_lock
0.1949 kfree 0.2290 task_rq_lock
0.1915 tcp_sendmsg 0.2249 generic_make_request
0.1901 try_to_wake_up 0.2167 kref_get
0.1895 kref_get 0.2147 tcp_sendmsg
0.1864 __mod_timer 0.2045 qla2x00_process_completed_re
0.1863 thread_return 0.2045 pick_next_highest_task_rt

-- 2.6.29.1 vs. 2.6.29.2
Linux OLTP Performance summary
Kernel# Speedup(x) Intr/s CtxSw/s us% sys% idle% iowait%
2.6.29.1 1.000 30570 42818 74 25 0 0
2.6.29.2 1.003 30509 43139 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.29.1 Cycles% 2.6.29.2
64.5424 <database> 67.7080 <database>
1.1571 qla24xx_intr_handler 0.9487 qla24xx_intr_handler
0.9209 schedule 0.8117 schedule
0.6533 kmem_cache_alloc 0.6215 qla24xx_wrt_req_reg
0.5456 qla24xx_wrt_req_reg 0.5439 kmem_cache_alloc
0.5247 try_to_wake_up 0.4784 qla24xx_start_scsi
0.4858 qla24xx_start_scsi 0.4703 __blockdev_direct_IO
0.4485 __sigsetjmp 0.4416 try_to_wake_up
0.3976 __blockdev_direct_IO 0.4253 __sigsetjmp
0.3857 __switch_to 0.3803 scsi_request_fn
0.3692 copy_user_generic_string 0.3701 __switch_to
0.3648 aio_complete 0.3619 copy_user_generic_string
0.3633 scsi_request_fn 0.3476 rb_get_reader_page
0.3259 rb_get_reader_page 0.3149 symbols)
0.3109 ring_buffer_consume 0.3006 aio_complete
0.3050 memset_c 0.2903 memset_c
0.2900 pick_next_highest_task_rt 0.2883 ring_buffer_consume
0.2885 page_fault 0.2719 lock_timer_base
0.2855 task_rq_lock 0.2699 __list_add
0.2691 mwait_idle 0.2474 blk_queue_end_tag
0.2661 lock_timer_base 0.2453 memmove
0.2616 symbols) 0.2392 e1000_xmit_frame
0.2616 __list_add 0.2290 ipc_lock
0.2541 tcp_sendmsg 0.2290 task_rq_lock
0.2302 blk_queue_end_tag 0.2249 generic_make_request
0.2242 e1000_xmit_frame 0.2167 kref_get
0.2198 scsi_softirq_done 0.2147 tcp_sendmsg
0.2183 qla2x00_process_completed_re0.2045 qla2x00_process_completed_re
0.2168 memmove 0.2045 pick_next_highest_task_rt
0.2138 cpupri_set 0.2024 __mod_timer
0.2078 qla24xx_process_response_que0.2004 kmem_cache_free
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/