From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
Venkatesh Pallipadi <venki@google.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Ingo Molnar <mingo@elte.hu>, Mike Galbraith <efault@gmx.de>
Subject: [089/115] sched: Increment cache_nice_tries only on periodic lb
Date: Tue, 15 Feb 2011 17:45:55 -0800 [thread overview]
Message-ID: <20110216014703.161248782@clark.kroah.org> (raw)
In-Reply-To: <20110216014741.GA24678@kroah.com>
2.6.32-longterm review patch. If anyone has any objections, please let us know.
------------------
Commit: 58b26c4c025778c09c7a1438ff185080e11b7d0a upstream
scheduler uses cache_nice_tries as an indicator to do cache_hot and
active load balance, when normal load balance fails. Currently,
this value is changed on any failed load balance attempt. That ends
up being not so nice to workloads that enter/exit idle often, as
they do more frequent new_idle balance and that pretty soon results
in cache hot tasks being pulled in.
Making the cache_nice_tries ignore failed new_idle balance seems to
make better sense. With that only the failed load balance in
periodic load balance gets accounted and the rate of accumulation
of cache_nice_tries will not depend on idle entry/exit (short
running sleep-wakeup kind of tasks). This reduces movement of
cache_hot tasks.
schedstat diff (after-before) excerpt from a workload that has
frequent and short wakeup-idle pattern (:2 in cpu col below refers
to NEWIDLE idx) This snapshot was across ~400 seconds.
Without this change:
domainstats: domain0
cpu cnt bln fld imb gain hgain nobusyq nobusyg
0:2 306487 219575 73167 110069413 44583 19070 1172 218403
1:2 292139 194853 81421 120893383 50745 21902 1259 193594
2:2 283166 174607 91359 129699642 54931 23688 1287 173320
3:2 273998 161788 93991 132757146 57122 24351 1366 160422
4:2 289851 215692 62190 83398383 36377 13680 851 214841
5:2 316312 222146 77605 117582154 49948 20281 988 221158
6:2 297172 195596 83623 122133390 52801 21301 929 194667
7:2 283391 178078 86378 126622761 55122 22239 928 177150
8:2 297655 210359 72995 110246694 45798 19777 1125 209234
9:2 297357 202011 79363 119753474 50953 22088 1089 200922
10:2 278797 178703 83180 122514385 52969 22726 1128 177575
11:2 272661 167669 86978 127342327 55857 24342 1195 166474
12:2 293039 204031 73211 110282059 47285 19651 948 203083
13:2 289502 196762 76803 114712942 49339 20547 1016 195746
14:2 264446 169609 78292 115715605 50459 21017 982 168627
15:2 260968 163660 80142 116811793 51483 21281 1064 162596
With this change:
domainstats: domain0
cpu cnt bln fld imb gain hgain nobusyq nobusyg
0:2 272347 187380 77455 105420270 24975 1 953 186427
1:2 267276 172360 86234 116242264 28087 6 1028 171332
2:2 259769 156777 93281 123243134 30555 1 1043 155734
3:2 250870 143129 97627 127370868 32026 6 1188 141941
4:2 248422 177116 64096 78261112 22202 2 757 176359
5:2 275595 180683 84950 116075022 29400 6 778 179905
6:2 262418 162609 88944 119256898 31056 4 817 161792
7:2 252204 147946 92646 122388300 32879 4 824 147122
8:2 262335 172239 81631 110477214 26599 4 864 171375
9:2 261563 164775 88016 117203621 28331 3 849 163926
10:2 243389 140949 93379 121353071 29585 2 909 140040
11:2 242795 134651 98310 124768957 30895 2 1016 133635
12:2 255234 166622 79843 104696912 26483 4 746 165876
13:2 244944 151595 83855 109808099 27787 3 801 150794
14:2 241301 140982 89935 116954383 30403 6 845 140137
15:2 232271 128564 92821 119185207 31207 4 1416 127148
Signed-off-by: Venkatesh Pallipadi <venki@google.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1284167957-3675-1-git-send-email-venki@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
kernel/sched.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4250,7 +4250,14 @@ redo:
if (!ld_moved) {
schedstat_inc(sd, lb_failed[idle]);
- sd->nr_balance_failed++;
+ /*
+ * Increment the failure counter only on periodic balance.
+ * We do not want newidle balance, which can be very
+ * frequent, pollute the failure counter causing
+ * excessive cache_hot migrations and active balances.
+ */
+ if (idle != CPU_NEWLY_IDLE)
+ sd->nr_balance_failed++;
if (unlikely(sd->nr_balance_failed > sd->cache_nice_tries+2)) {
next prev parent reply other threads:[~2011-02-16 1:58 UTC|newest]
Thread overview: 137+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-16 1:47 [000/115] 2.6.32.29-longterm review Greg KH
2011-02-16 1:44 ` [001/115] staging: usbip: remove double giveback of URB Greg KH
2011-02-16 1:44 ` [002/115] USB: EHCI: ASPM quirk of ISOC on AMD SB800 Greg KH
2011-02-16 1:44 ` [003/115] rt2x00: add device id for windy31 usb device Greg KH
2011-02-16 1:44 ` [004/115] ALSA: snd-usb-us122l: Fix missing NULL checks Greg KH
2011-02-16 1:44 ` [005/115] hwmon: (via686a) Initialize fan_div values Greg KH
2011-02-16 1:44 ` [006/115] USB: serial: handle Data Carrier Detect changes Greg KH
2011-02-16 1:44 ` [007/115] USB: CP210x Add two device IDs Greg KH
2011-02-16 1:44 ` [008/115] USB: CP210x Removed incorrect device ID Greg KH
2011-02-16 1:44 ` [009/115] USB: usb-storage: unusual_devs update for Cypress ATACB Greg KH
2011-02-16 1:44 ` [010/115] USB: usb-storage: unusual_devs update for TrekStor DataStation maxi g.u external hard drive enclosure Greg KH
2011-02-16 1:44 ` [011/115] USB: usb-storage: unusual_devs entry for CamSport Evo Greg KH
2011-02-16 1:44 ` [012/115] USB: usb-storage: unusual_devs entry for Coby MP3 player Greg KH
2011-02-16 1:44 ` [013/115] USB: serial: Updated support for ICOM devices Greg KH
2011-02-16 1:44 ` [014/115] USB: adding USB support for Cinterions HC2x, EU3 and PH8 products Greg KH
2011-02-16 1:44 ` [015/115] USB: EHCI: ASPM quirk of ISOC on AMD Hudson Greg KH
2011-02-16 1:44 ` [016/115] USB: EHCI: fix DMA deallocation bug Greg KH
2011-02-16 1:44 ` [017/115] USB: g_printer: fix bug in module parameter definitions Greg KH
2011-02-16 1:44 ` [018/115] USB: io_edgeport: fix the reported firmware major and minor Greg KH
2011-02-16 1:44 ` [019/115] USB: ti_usb: fix module removal Greg KH
2011-02-16 1:44 ` [020/115] USB: Storage: Add unusual_devs entry for VTech Kidizoom Greg KH
2011-02-16 1:44 ` [021/115] USB: ftdi_sio: add ST Micro Connect Lite uart support Greg KH
2011-02-16 1:44 ` [022/115] USB: cdc-acm: Adding second ACM channel support for Nokia N8 Greg KH
2011-02-16 1:44 ` [023/115] USB: ftdi_sio: Add VID=0x0647, PID=0x0100 for Acton Research spectrograph Greg KH
2011-02-16 1:44 ` [024/115] USB: prevent buggy hubs from crashing the USB stack Greg KH
2011-02-23 8:06 ` Alexander Holler
2011-02-23 8:40 ` Alexander Holler
2011-02-23 15:26 ` Alan Stern
2011-02-24 8:57 ` Felipe Balbi
2011-02-24 9:15 ` Alexander Holler
2011-02-24 9:16 ` Felipe Balbi
2011-02-24 17:18 ` Greg KH
2011-02-24 17:23 ` Felipe Balbi
2011-02-24 17:57 ` Alan Stern
2011-02-24 18:11 ` Alexander Holler
2011-02-24 18:24 ` Greg KH
2011-02-24 18:12 ` Greg KH
2011-02-24 18:16 ` Greg KH
2011-02-24 9:53 ` Michael Jones
2011-02-16 1:44 ` [025/115] staging: comedi: add support for newer jr3 1-channel pci board Greg KH
2011-02-16 1:44 ` [026/115] staging: comedi: ni_labpc: Use shared IRQ for PCMCIA card Greg KH
2011-02-16 1:44 ` [027/115] Staging: hv: fix sysfs symlink on hv block device Greg KH
2011-02-16 1:44 ` [028/115] staging: hv: Enable sending GARP packet after live migration Greg KH
2011-02-16 1:44 ` [029/115] [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA Greg KH
2011-02-16 1:44 ` [030/115] iwlagn: enable only rfkill interrupt when device is down Greg KH
2011-02-16 1:44 ` [031/115] ath9k: Fix bug in delimiter padding computation Greg KH
2011-02-16 1:44 ` [032/115] [S390] correct vdso version string Greg KH
2011-02-16 1:44 ` [033/115] [SCSI] fix medium error problems with some arrays which can cause data corruption Greg KH
2011-02-16 1:45 ` [034/115] [SCSI] libsas: fix runaway error handler problem Greg KH
2011-02-16 1:45 ` [035/115] [SCSI] mpt2sas: Fix device removal handshake for zoned devices Greg KH
2011-02-16 1:45 ` [036/115] [SCSI] mpt2sas: Correct resizing calculation for max_queue_depth Greg KH
2011-02-16 1:45 ` [037/115] [SCSI] mpt2sas: Kernel Panic during Large Topology discovery Greg KH
2011-02-16 1:45 ` [038/115] [media] radio-aimslab.c: Fix gcc 4.5+ bug Greg KH
2011-02-16 1:45 ` [039/115] [media] em28xx: Fix audio input for Terratec Grabby Greg KH
2011-02-16 1:45 ` [040/115] ALSA : au88x0 - Limit number of channels to fix Oops via OSS emu Greg KH
2011-02-16 1:45 ` [041/115] ALSA: HDA: Fix dmesg output of HDMI supported bits Greg KH
2011-02-16 1:45 ` [042/115] ALSA: hda - Fix memory leaks in conexant jack arrays Greg KH
2011-02-16 1:45 ` [043/115] Input: i8042 - introduce notimeout blacklist for Dell Vostro V13 Greg KH
2011-02-16 1:45 ` [044/115] input: bcm5974: Add support for MacBookAir3 Greg KH
2011-02-16 1:45 ` [045/115] ALSA: hrtimer: handle delayed timer interrupts Greg KH
2011-02-16 1:45 ` [046/115] ASoC: WM8990: msleep() takes milliseconds not jiffies Greg KH
2011-02-16 1:45 ` [047/115] ASoC: Blackfin AC97: fix build error after multi-component update Greg KH
2011-02-16 1:45 ` [048/115] NFS: Fix "kernel BUG at fs/aio.c:554!" Greg KH
2011-02-16 1:45 ` [049/115] rtc-cmos: fix suspend/resume Greg KH
2011-02-16 1:45 ` [050/115] iwlagn: Re-enable RF_KILL interrupt when down Greg KH
2011-02-16 1:45 ` [051/115] rapidio: fix hang on RapidIO doorbell queue full condition Greg KH
2011-02-16 1:45 ` [052/115] PCI: pci-stub: ignore zero-length id parameters Greg KH
2011-02-16 1:45 ` [053/115] virtio: remove virtio-pci root device Greg KH
2011-02-16 1:45 ` [054/115] ds2760_battery: Fix calculation of time_to_empty_now Greg KH
2011-02-16 1:45 ` [055/115] p54: fix sequence no. accounting off-by-one error Greg KH
2011-02-16 1:45 ` [056/115] i2c: Unregister dummy devices last on adapter removal Greg KH
2011-02-16 1:45 ` [057/115] serial: unbreak billionton CF card Greg KH
2011-02-16 1:45 ` [058/115] ptrace: use safer wake up on ptrace_detach() Greg KH
2011-02-16 1:45 ` [059/115] x86, mtrr: Avoid MTRR reprogramming on BP during boot on UP platforms Greg KH
2011-02-16 1:45 ` [060/115] fix jiffy calculations in calibrate_delay_direct to handle overflow Greg KH
2011-02-16 1:45 ` [061/115] USB: serial: pl2303: Hybrid reader Uniform HCR331 Greg KH
2011-02-16 1:45 ` [062/115] drivers: update to pl2303 usb-serial to support Motorola cables Greg KH
2011-02-16 1:45 ` [063/115] klist: Fix object alignment on 64-bit Greg KH
2011-02-16 1:45 ` [064/115] powerpc: Fix some 6xx/7xxx CPU setup functions Greg KH
2011-02-16 1:45 ` [065/115] parisc : Remove broken line wrapping handling pdc_iodc_print() Greg KH
2011-02-16 1:45 ` [066/115] kernel/smp.c: fix smp_call_function_many() SMP race Greg KH
2011-02-16 1:45 ` [067/115] hostap_cs: fix sleeping function called from invalid context Greg KH
2011-02-16 1:45 ` [068/115] md: fix regression with re-adding devices to arrays with no metadata Greg KH
2011-02-16 1:45 ` [069/115] pata_mpc52xx: inherit from ata_bmdma_port_ops Greg KH
2011-02-16 1:45 ` [070/115] TPM: Long default timeout fix Greg KH
2011-02-16 1:45 ` [071/115] tpm_tis: Use timeouts returned from TPM Greg KH
2011-02-16 1:45 ` [072/115] SELinux: define permissions for DCB netlink messages Greg KH
2011-02-16 1:45 ` [073/115] SELinux: do not compute transition labels on mountpoint labeled filesystems Greg KH
2011-02-16 1:45 ` [074/115] ieee80211: correct IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK macro Greg KH
2011-02-16 1:45 ` [075/115] dm: dont take i_mutex to change device size Greg KH
2011-02-16 1:45 ` [076/115] dm mpath: disable blk_abort_queue Greg KH
2011-02-16 1:45 ` [077/115] drm/radeon/kms: add quirk for Mac Radeon HD 2600 card Greg KH
2011-02-16 1:45 ` [078/115] drm/radeon/kms: make the mac rv630 quirk generic Greg KH
2011-02-16 1:45 ` [079/115] drm/radeon/kms: add pll debugging output Greg KH
2011-02-16 1:45 ` [080/115] drm/radeon: remove 0x4243 pci id Greg KH
2011-02-16 1:45 ` [081/115] drm/radeon/kms: fix s/r issues with bios scratch regs Greg KH
2011-02-16 1:45 ` [082/115] drm/i915/lvds: Add AOpen i915GMm-HFS to the list of false-positive LVDS Greg KH
2011-02-16 1:45 ` [083/115] drm/i915: Add dependency on CONFIG_TMPFS Greg KH
2011-02-16 1:45 ` [084/115] x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask after switching mm Greg KH
2011-02-16 1:45 ` [085/115] usb: Realloc xHCI structures after a hub is verified Greg KH
2011-02-16 1:45 ` [086/115] sched: Remove USER_SCHED Greg KH
2011-02-16 1:45 ` [087/115] sched: Remove remaining USER_SCHED code Greg KH
2011-02-16 1:45 ` [088/115] sched: Move sched_avg_update() to update_cpu_load() Greg KH
2011-02-16 1:45 ` Greg KH [this message]
2011-02-16 1:45 ` [090/115] sched: Try not to migrate higher priority RT tasks Greg KH
2011-02-16 1:45 ` [091/115] sched: Give CPU bound RT tasks preference Greg KH
2011-02-16 1:45 ` [092/115] sched: suppress RCU lockdep splat in task_fork_fair Greg KH
2011-02-16 1:45 ` [093/115] sched: fix RCU lockdep splat from task_group() Greg KH
2011-02-16 1:46 ` [094/115] sched: Do not consider SCHED_IDLE tasks to be cache hot Greg KH
2011-02-16 1:46 ` [095/115] sched: Set group_imb only a task can be pulled from the busiest cpu Greg KH
2011-02-16 1:46 ` [096/115] sched: Force balancing on newidle balance if local group has capacity Greg KH
2011-02-16 1:46 ` [097/115] sched: Drop group_capacity to 1 only if local group has extra capacity Greg KH
2011-02-16 1:46 ` [098/115] sched: Fix softirq time accounting Greg KH
2011-02-16 1:46 ` [099/115] sched: Consolidate account_system_vtime extern declaration Greg KH
2011-02-16 1:46 ` [100/115] sched: Remove unused PF_ALIGNWARN flag Greg KH
2011-02-16 1:46 ` [101/115] sched: Add a PF flag for ksoftirqd identification Greg KH
2011-02-16 1:46 ` [102/115] sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time Greg KH
2011-02-16 1:46 ` [103/115] x86: Add IRQ_TIME_ACCOUNTING Greg KH
2011-02-16 1:46 ` [104/115] sched: Do not account irq time to current task Greg KH
2011-02-16 1:46 ` [105/115] sched: Remove irq time from available CPU power Greg KH
2011-02-16 1:46 ` [106/115] sched: Call tick_check_idle before __irq_enter Greg KH
2011-02-16 1:46 ` [107/115] sched: Export account_system_vtime() Greg KH
2011-02-16 1:46 ` [108/115] sched, cgroup: Fixup broken cgroup movement Greg KH
2011-02-16 1:46 ` [109/115] sched: Use group weight, idle cpu metrics to fix imbalances during idle Greg KH
2011-02-16 1:46 ` [110/115] sched: Fix cross-sched-class wakeup preemption Greg KH
2011-02-16 1:46 ` [111/115] sched: Fix volanomark performance regression Greg KH
2011-02-16 1:46 ` [112/115] sched: Fix idle balancing Greg KH
2011-02-16 1:46 ` [113/115] sched: Fix wake_affine() vs RT tasks Greg KH
2011-02-16 1:46 ` [114/115] sched: Remove some dead code Greg KH
2011-02-16 7:37 ` Dan Carpenter
2011-02-16 7:56 ` Mike Galbraith
2011-02-16 8:30 ` Ingo Molnar
2011-02-16 9:24 ` [Stable-review] " Willy Tarreau
2011-02-16 1:46 ` [115/115] kernel/user.c: add lock release annotation on free_user() Greg KH
2011-02-16 13:51 ` [000/115] 2.6.32.29-longterm review Ian Campbell
2011-02-17 0:35 ` Greg KH
2011-02-17 9:22 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110216014703.161248782@clark.kroah.org \
--to=gregkh@suse.de \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=stable-review@kernel.org \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=venki@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®