From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758906Ab0KOXxr (ORCPT ); Mon, 15 Nov 2010 18:53:47 -0500 Received: from smtp-out.google.com ([74.125.121.35]:36114 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933908Ab0KOXw4 (ORCPT ); Mon, 15 Nov 2010 18:52:56 -0500 DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=message-id:user-agent:date:from:to:cc:subject; b=SNvBvajyL2eqzNBYb2Jc+8DjzuAmPw2ft6ze43nRwLx5DNuP+vrJPzi4qPYz9WJ0o QBu2kDPbEvBj8zreoPreQ== Message-Id: <20101115234659.610333554@google.com> User-Agent: quilt/0.48-1 Date: Mon, 15 Nov 2010 15:46:59 -0800 From: Paul Turner To: linux-kernel@vger.kernel.org Cc: Peter Zijlstra , Ingo Molnar , Srivatsa Vaddagiri , Chris Friesen , Vaidyanathan Srinivasan , Pierre Bourdon , Paul Turner , Bharata B Rao , Karl Rister , Balbir Singh , David Miller Subject: [tg_shares_up rewrite v4 00/11] reduce overhead for tg->shares distribution Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is v4 of the tg_shares_up re-write previously posted at: http://lkml.org/lkml/2010/10/16/17 Corrected versus the previous version is the quilt patch-strip level. The key idea behind this patchset is an idea of Peter Zijlstra'a to compute global loads as a function of local averages, avoiding the cpu-cpu interactions which previously plagued tg_shares_up. Beyond bug fixes not much material has changed since v1 as results seem favourable/stable. Changes: v4 all patches - fix "-p0" stripping v3 (http://lkml.org/lkml/2010/11/11/526) sched-rework-tg_shares_up.patch - remove lint: {max,min}_sched_shares_ratelimit from sysctl.c sched-tg-ondemand.patch - (bug fix) fix synchronization on leaf_cfs_rq_list removal during task_group reclaim. - fix !CONFIG_FAIR_GROUP_SCHED build - fix comment on what task_group_lock protects sched-tg-global_update_load.patch - add missing arguments to update_cfs_load() in !CONFIG_FAIR_GROUP_SCHED case v2 (http://lkml.org/lkml/2010/11/10/618) sched-rework-tg_shares_up.patch - (bug fix) use owning tg->shares value in effective_load - remove redundant cfs_rq_of() in {enqueue,dequeue}_entity sched-tg-add-shares_window_sysctl.patch - update comment on sysctl interpretation sched-tg-fix-update_cfs_load.patch - update comment to reflect periods instead of foldings (more intuitive) Some motivation again: 24 thread Intel box, 150 active cgroups, multiple threads/group, system load at ~90% (sample size=10s): tip: 2.64% [k] tg_shares_up 0.15% [k] __set_se_shares patched: 0.02% [k] update_cfs_load 0.01% [k] update_cpu_load 0.00% [k] update_cfs_shares Fairness coverage for the above at: http://rs5.risingnet.net/~pjt/patches/shares_data_v1.txt Thanks, - Paul