From mboxrd@z Thu Jan 1 00:00:00 1970 From: Glauber de Oliveira Costa Subject: [PATCH/RFC] Wrong account for cpus other than 0 on hotplug Date: Fri, 13 Oct 2006 14:50:25 -0300 Message-ID: <20061013175025.GA13539@redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="wac7ysb48OaltWcw" Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, Is a x86_64 system with multiple CPUs, process accounting is done wrong after one cpu goes off and on again (i.e.: a CPU bounded process is running but gets 0% cpu for a time, until situation becomes normal again). The following patch is a first attempt to fix it. The struct keeps zeroed after HYPERVISOR_vcpu_op() is called, thus leading to wrong results. Accounting seems to be done right without it. However, I'm not 100 % sure we can just poke it out. Comments on this are very welcome. -- Glauber de Oliveira Costa Red Hat Inc. "Free as in Freedom" --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline; filename="patch.account" --- linux-2.6.18.x86_64/arch/i386/kernel/time-xen.c.orig 2006-10-13 13:06:12.000000000 -0400 +++ linux-2.6.18.x86_64/arch/i386/kernel/time-xen.c 2006-10-13 13:16:50.000000000 -0400 @@ -721,14 +721,8 @@ irqreturn_t timer_interrupt(int irq, voi static void init_missing_ticks_accounting(int cpu) { - struct vcpu_register_runstate_memory_area area; struct vcpu_runstate_info *runstate = &per_cpu(runstate, cpu); - memset(runstate, 0, sizeof(*runstate)); - - area.addr.v = runstate; - HYPERVISOR_vcpu_op(VCPUOP_register_runstate_memory_area, cpu, &area); - per_cpu(processed_blocked_time, cpu) = runstate->time[RUNSTATE_blocked]; per_cpu(processed_stolen_time, cpu) = --wac7ysb48OaltWcw Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --wac7ysb48OaltWcw--