Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1673216

Re: [PATCH 0/2] x86/idle: add halt poll support

From Yang Zhang <yang.zhang.wz@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH 0/2] x86/idle: add halt poll support
Date 2017-06-23 06:10 +0200
Message-ID <tVo4W-5HP-11@gated-at.bofh.it> (permalink)
References <tV8tb-3Zd-3@gated-at.bofh.it> <tV8Wf-4b0-29@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 2017/6/22 19:50, Wanpeng Li wrote:
> 2017-06-22 19:22 GMT+08:00 root <yang.zhang.wz@gmail.com>:
>> From: Yang Zhang <yang.zhang.wz@gmail.com>
>>
>> Some latency-intensive workload will see obviously performance
>> drop when running inside VM. The main reason is that the overhead
>> is amplified when running inside VM. The most cost i have seen is
>> inside idle path.
>> This patch introduces a new mechanism to poll for a while before
>> entering idle state. If schedule is needed during poll, then we
>> don't need to goes through the heavy overhead path.
>>
>> Here is the data i get when running benchmark contextswitch
>> (https://github.com/tsuna/contextswitch)
>> before patch:
>> 2000000 process context switches in 4822613801ns (2411.3ns/ctxsw)
>> after patch:
>> 2000000 process context switches in 3584098241ns (1792.0ns/ctxsw)
>
> If you test this after disabling the adaptive halt-polling in kvm?
> What's the performance data of w/ this patchset and w/o the adaptive
> halt-polling in kvm, and w/o this patchset and w/ the adaptive
> halt-polling in kvm? In addition, both linux and windows guests can
> get benefit as we have already done this in kvm.

I will provide more data in next version. But it doesn't conflict with 
current halt polling inside kvm. This is just another enhancement.

>
> Regards,
> Wanpeng Li
>
>> Yang Zhang (2):
>>   x86/idle: add halt poll for halt idle
>>   x86/idle: use dynamic halt poll
>>
>>  Documentation/sysctl/kernel.txt          | 24 ++++++++++
>>  arch/x86/include/asm/processor.h         |  6 +++
>>  arch/x86/kernel/apic/apic.c              |  6 +++
>>  arch/x86/kernel/apic/vector.c            |  1 +
>>  arch/x86/kernel/cpu/mcheck/mce_amd.c     |  2 +
>>  arch/x86/kernel/cpu/mcheck/therm_throt.c |  2 +
>>  arch/x86/kernel/cpu/mcheck/threshold.c   |  2 +
>>  arch/x86/kernel/irq.c                    |  5 ++
>>  arch/x86/kernel/irq_work.c               |  2 +
>>  arch/x86/kernel/process.c                | 80 ++++++++++++++++++++++++++++++++
>>  arch/x86/kernel/smp.c                    |  6 +++
>>  include/linux/kernel.h                   |  5 ++
>>  kernel/sched/idle.c                      |  3 ++
>>  kernel/sysctl.c                          | 23 +++++++++
>>  14 files changed, 167 insertions(+)
>>
>> --
>> 1.8.3.1
>>


-- 
Yang
Alibaba Cloud Computing

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] x86/idle: add halt poll support root <yang.zhang.wz@gmail.com> - 2017-06-22 13:30 +0200
  [PATCH 1/2] x86/idle: add halt poll for halt idle root <yang.zhang.wz@gmail.com> - 2017-06-22 13:30 +0200
    Re: [PATCH 1/2] x86/idle: add halt poll for halt idle Thomas Gleixner <tglx@linutronix.de> - 2017-06-22 16:30 +0200
      Re: [PATCH 1/2] x86/idle: add halt poll for halt idle Yang Zhang <yang.zhang.wz@gmail.com> - 2017-06-23 06:10 +0200
  [PATCH 2/2] x86/idle: use dynamic halt poll root <yang.zhang.wz@gmail.com> - 2017-06-22 13:30 +0200
    Re: [PATCH 2/2] x86/idle: use dynamic halt poll Paolo Bonzini <pbonzini@redhat.com> - 2017-06-22 14:00 +0200
      Re: [PATCH 2/2] x86/idle: use dynamic halt poll Yang Zhang <yang.zhang.wz@gmail.com> - 2017-06-23 06:00 +0200
        Re: [PATCH 2/2] x86/idle: use dynamic halt poll Yang Zhang <yang.zhang.wz@gmail.com> - 2017-06-27 13:30 +0200
          Re: [PATCH 2/2] x86/idle: use dynamic halt poll Paolo Bonzini <pbonzini@redhat.com> - 2017-06-27 14:10 +0200
            Re: [PATCH 2/2] x86/idle: use dynamic halt poll Wanpeng Li <kernellwp@gmail.com> - 2017-06-27 14:30 +0200
              Re: [PATCH 2/2] x86/idle: use dynamic halt poll Paolo Bonzini <pbonzini@redhat.com> - 2017-06-27 14:30 +0200
                Re: [PATCH 2/2] x86/idle: use dynamic halt poll Radim Krčmář <rkrcmar@redhat.com> - 2017-06-27 15:50 +0200
                Re: [PATCH 2/2] x86/idle: use dynamic halt poll Paolo Bonzini <pbonzini@redhat.com> - 2017-06-27 16:00 +0200
                Re: [PATCH 2/2] x86/idle: use dynamic halt poll Paolo Bonzini <pbonzini@redhat.com> - 2017-06-27 16:30 +0200
                Re: [PATCH 2/2] x86/idle: use dynamic halt poll Radim Krčmář <rkrcmar@redhat.com> - 2017-06-27 16:30 +0200
                Re: [PATCH 2/2] x86/idle: use dynamic halt poll Yang Zhang <yang.zhang.wz@gmail.com> - 2017-07-03 11:30 +0200
                Re: [PATCH 2/2] x86/idle: use dynamic halt poll Thomas Gleixner <tglx@linutronix.de> - 2017-07-03 12:10 +0200
    Re: [PATCH 2/2] x86/idle: use dynamic halt poll Thomas Gleixner <tglx@linutronix.de> - 2017-06-22 16:40 +0200
      Re: [PATCH 2/2] x86/idle: use dynamic halt poll Yang Zhang <yang.zhang.wz@gmail.com> - 2017-06-23 06:10 +0200
    Re: [PATCH 2/2] x86/idle: use dynamic halt poll kbuild test robot <lkp@intel.com> - 2017-06-23 00:50 +0200
  Re: [PATCH 0/2] x86/idle: add halt poll support Yang Zhang <yang.zhang.wz@gmail.com> - 2017-06-22 13:40 +0200
  Re: [PATCH 0/2] x86/idle: add halt poll support Wanpeng Li <kernellwp@gmail.com> - 2017-06-22 14:00 +0200
    Re: [PATCH 0/2] x86/idle: add halt poll support Yang Zhang <yang.zhang.wz@gmail.com> - 2017-06-23 06:10 +0200
      Re: [PATCH 0/2] x86/idle: add halt poll support Wanpeng Li <kernellwp@gmail.com> - 2017-06-23 06:40 +0200
        Re: [PATCH 0/2] x86/idle: add halt poll support Yang Zhang <yang.zhang.wz@gmail.com> - 2017-06-23 08:50 +0200
          Re: [PATCH 0/2] x86/idle: add halt poll support Radim Krčmář <rkrcmar@redhat.com> - 2017-06-27 16:10 +0200

csiph-web