From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761915AbZANMD0 (ORCPT ); Wed, 14 Jan 2009 07:03:26 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757028AbZANMDQ (ORCPT ); Wed, 14 Jan 2009 07:03:16 -0500 Received: from bombadil.infradead.org ([18.85.46.34]:57627 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754327AbZANMDQ (ORCPT ); Wed, 14 Jan 2009 07:03:16 -0500 Subject: Re: [PATCH 1/2] sched: introduce avg_wakeup From: Peter Zijlstra To: Ingo Molnar Cc: Mike Galbraith , Linux Kernel Mailing List In-Reply-To: <1231934371.7141.29.camel@twins> References: <20090114113917.199690328@chello.nl> <20090114114026.969559732@chello.nl> <1231934371.7141.29.camel@twins> Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Wed, 14 Jan 2009 13:03:14 +0100 Message-Id: <1231934594.7141.30.camel@twins> Mime-Version: 1.0 X-Mailer: Evolution 2.24.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2009-01-14 at 12:59 +0100, Peter Zijlstra wrote: > + /* > + * Only attribute actual wakeups done by this task. > + */ > + if (!in_interrupt()) { > + struct sched_entity *se = ¤t->se; > + u64 sample = se->sum_exec_runtime; > + > + if (se->last_wakeup) > + sample -= se->last_wakeup; > + else > + sample -= se->start_runtime; > + update_avg(&se->avg_wakeup, sample); > + > + current->se.last_wakeup = current->se.sum_exec_runtime; > + } time for lunch apparently... Index: linux-2.6/kernel/sched.c =================================================================== --- linux-2.6.orig/kernel/sched.c +++ linux-2.6/kernel/sched.c @@ -2424,7 +2424,7 @@ out_activate: sample -= se->start_runtime; update_avg(&se->avg_wakeup, sample); - current->se.last_wakeup = current->se.sum_exec_runtime; + se.last_wakeup = se.sum_exec_runtime; } out_running: