Re: VolanoMark regression with 2.6.27-rc1

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Zhang, Yanmin
Date: Tuesday, August 13, 2030 - 1:50 am

On Fri, 2008-08-08 at 09:30 +0200, Peter Zijlstra wrote:
I collect more data and find CPU_NEWLY_IDLE balance schedstat looks abnormal.
Comparing with 2.6.26, 2.6.27-rc1 has more successful move_tasks among cpu runqueue. I
instrument kernel and find that, with 2.6.26, mostly task is hot when kernel tries to
move it to another cpu. But with 2.6.27-rc1, task is often moved successfully.
If I set /proc/sys/kernel/sched_migration_cost=1500000 (default is 500000), volanoMark
result is improved significantly, near to the result of 2.6.26. Above testing set
CONFIG_GROUP_SCHED=n. So perhaps some key data structures are changed with 2.6.27-rc1
to create more cache misses. With 2.6.26, cpu idle is about 6~7%. With 2.6.27-rc1, cpu idle
is about 1%. I compare the 2 kernels and couldn't find what data structure change makes it.

As for CONFIG_GROUP_SCHED=y, oprofile shows tg_shares_up consumes about 8% cpu utilization
on my 16-core tigerton. If I enlarge /proc/sys/kernel/sched_shares_ratelimit, it doesn't help
volanoMark result. I check the group schedule codes and got an idea to improve it. Add
share_percent, a new var in task_group->sched_entity[i] to record the percent this task group
occupies in the parent group. share_percent is updated in walk_tg_tree. In account_entity_enqueue,
if the task entity has parent, we could just use share_percent and se->load.weight to calculate
a new weight and add the new weight to parent entity weight, in the end to runqueue load weight.
So when sched_shares_ratelimit is enlarged, various load balances still could work well. I think
volanoMark could benefit from it.

BTW, with CONFIG_GROUP_SCHED=y, hackbench has about 80% regression on my 8core+multi_thread
Montvale Itanium machine and Tulsa machines. It seems mutli-thread machines has the regression.

-yanmin


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Wed Jul 30, 8:20 pm)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Thu Jul 31, 12:31 am)
Re: VolanoMark regression with 2.6.27-rc1, Peter Zijlstra, (Thu Jul 31, 12:39 am)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Thu Jul 31, 12:49 am)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Thu Jul 31, 5:39 pm)
Re: VolanoMark regression with 2.6.27-rc1, Miao Xie, (Thu Jul 31, 7:35 pm)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Thu Jul 31, 8:08 pm)
Re: VolanoMark regression with 2.6.27-rc1, Dhaval Giani, (Thu Jul 31, 10:14 pm)
Re: VolanoMark regression with 2.6.27-rc1, Hugh Dickins, (Fri Aug 1, 5:25 am)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Sun Aug 3, 5:54 pm)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Sun Aug 3, 10:04 pm)
Re: VolanoMark regression with 2.6.27-rc1, Dhaval Giani, (Sun Aug 3, 10:22 pm)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Sun Aug 3, 10:37 pm)
Re: VolanoMark regression with 2.6.27-rc1, Dhaval Giani, (Sun Aug 3, 10:53 pm)
Re: VolanoMark regression with 2.6.27-rc1, Peter Zijlstra, (Sun Aug 3, 11:26 pm)
Re: VolanoMark regression with 2.6.27-rc1, Peter Zijlstra, (Sun Aug 3, 11:26 pm)
Re: VolanoMark regression with 2.6.27-rc1, Peter Zijlstra, (Sun Aug 3, 11:54 pm)
Re: VolanoMark regression with 2.6.27-rc1, Dhaval Giani, (Mon Aug 4, 12:05 am)
Re: VolanoMark regression with 2.6.27-rc1, Peter Zijlstra, (Mon Aug 4, 12:12 am)
Re: VolanoMark regression with 2.6.27-rc1, Peter Zijlstra, (Fri Aug 8, 12:30 am)
Re: VolanoMark regression with 2.6.27-rc1, Ingo Molnar, (Fri Aug 15, 8:37 am)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Mon Aug 5, 8:26 pm)
Re: VolanoMark regression with 2.6.27-rc1, Zhang, Yanmin, (Tue Aug 13, 1:50 am)