From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756626AbZEBTIU (ORCPT ); Sat, 2 May 2009 15:08:20 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756020AbZEBTIJ (ORCPT ); Sat, 2 May 2009 15:08:09 -0400 Received: from www.tglx.de ([62.245.132.106]:33806 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754644AbZEBTIH (ORCPT ); Sat, 2 May 2009 15:08:07 -0400 Message-Id: <20090502190500.513452861@linutronix.de> User-Agent: quilt/0.47-1 Date: Sat, 02 May 2009 19:06:25 -0000 From: Thomas Gleixner To: LKML Cc: Dimitri Sivanich , Andrew Morton , Ingo Molnar , Peter Zijlstra Subject: [patch 0/3] move calc_load to softirq Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org calc_load() calculates the load average, which is a rough estimate at best. Right now calc_load() is called from do_timer() under the xtime lock write locked and with interrupts disabled. Dimitri Sivanich noticed 55us xtime lock hold times on a 64 cpu system. He suggested to split calc_load() out of do_timer() and move it out of the xtime locked section of each caller of do_timer(): http://lkml.org/lkml/2009/4/10/318 The following patch series moves the load average calculation to the timer softirq and removes the xtime lock dependency in the generic code. This reduces also the interrupt off section of the timer interrupt. Thanks, tglx