Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752351AbdDJV7y (ORCPT ); Mon, 10 Apr 2017 17:59:54 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:33761 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751799AbdDJV7w (ORCPT ); Mon, 10 Apr 2017 17:59:52 -0400 MIME-Version: 1.0 In-Reply-To: <20170410180143.GA18098@lerouge> References: <1491460584-4908-1-git-send-email-wanpeng.li@hotmail.com> <20170410180143.GA18098@lerouge> From: Wanpeng Li Date: Tue, 11 Apr 2017 05:51:27 +0800 Message-ID: Subject: Re: [PATCH] tick/nohz: Fix wrong user and system time accouting against vtime sampling To: Frederic Weisbecker Cc: Thomas Gleixner , "linux-kernel@vger.kernel.org" , Ingo Molnar , Peter Zijlstra , Wanpeng Li , Rik van Riel , Mike Galbraith , Luiz Capitulino Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1169 Lines: 30 2017-04-11 2:01 GMT+08:00 Frederic Weisbecker : > On Mon, Apr 10, 2017 at 05:45:56PM +0200, Thomas Gleixner wrote: >> On Wed, 5 Apr 2017, Wanpeng Li wrote: >> > + /* >> > + * Offset the tick to avert jiffies_lock contention, and all ticks >> > + * alignment in order that the vtime sampling does not end up "in >> > + * phase" with the jiffies incrementing. >> > + */ >> > + if (sched_skew_tick || tick_nohz_full_enabled()) { >> > u64 offset = ktime_to_ns(tick_period) >> 1; >> > do_div(offset, num_possible_cpus()); >> > offset *= smp_processor_id(); >> >> That's not a fix, that's just papering over the problem. >> >> offset = 1ms / 2 = 500us = 500000ns; >> offset /= 144 = 3472ns >> >> So CPU0 and CPU1 ticks are ~3 microseconds apart. That merily reduces the >> probability of the issue, but does not prevent it. > > I worried about it but didn't realize it could be that tight. > > So the alternative is the solution involving sched_clock() as the source for > cputime. Wanpeng Li could you please resubmit your patch that does that? Yeah, I will try it. Regards, Wanpeng Li