Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2173530imm; Mon, 28 May 2018 03:12:39 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrMpeITmz4qvg0P7RngM6iwqYCJXcJlVYs+kJB4vl3ceJn9pDp8XyKtF8lv7aF1eXd8BZcO X-Received: by 2002:a17:902:c81:: with SMTP id 1-v6mr12949162plt.126.1527502359000; Mon, 28 May 2018 03:12:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527502358; cv=none; d=google.com; s=arc-20160816; b=ELO7LoJI/E717z9DMOPEw8Fv9tlX4kMFQirqgZvpKMZj2c75qAHKW17vM/rJwkmpyc faVElc4aK/y9U7tw9Mft+cNdNtmfalEODM4cYuPfcmOskGKgnxLehqyrUqbBzdh8mKr8 R54legj288bzp2Sb6Rjgjn2P7fwmRaHOFWYaU0kR/CVhK7gRsE43cIIEAvDlIDver+16 QZYXOWnbRlMnizApG34xoWEN9YXqMHTrESx7O0Z+dD6WyW7TAJ3/gbIlwnwahqNJGGVy Kh7K4KTIs7OjXQ3BiEAIM6tmR27bX5gn9BpX5AoGMsgo3sM+Xt3hoy7vkb0x2KULlMUT ceBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=GO+blUdHA1xS3LFByieNu8/SpZ9WySAMjVejBwMHEcw=; b=j5fNVvX7hT6wPH6Za7IS1Fd982y+UAIJv9lyFAP1BJYk9cFJHRM5IP6PGj5JFI1W3h EtaO4Zuo+Vb4MAJbsQHuSXZ+UqGtSi7+YWEr8UwhaWJCfxngp8dymVX1k0qbjE4dvqiF zcdlUqsVvFUMhAmdn9poiYzPms66KmaWFGo7eZHjBeZtfEJP5+vDXw6OGrRPo3UiuhuW CS6tJsJ35ZwqZBYAzVOitbudViX2abWFve73Eax4C7M6d1TA68xdd5/S0C/VTvEp3+W9 fEnKBxZg8j/sZMPg2+JQK0z8D9nEqBq2ZWTCykgdA87+P+H/EBQTfsJUyvvmgxOlFdL7 HECw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dE+n9idp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o14-v6si22976458pgd.684.2018.05.28.03.12.24; Mon, 28 May 2018 03:12:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dE+n9idp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936557AbeE1KLH (ORCPT + 99 others); Mon, 28 May 2018 06:11:07 -0400 Received: from mail.kernel.org ([198.145.29.99]:59238 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935505AbeE1KLC (ORCPT ); Mon, 28 May 2018 06:11:02 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 36BCD208AD; Mon, 28 May 2018 10:11:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527502261; bh=GB1baZidZ74SDPfR/A3TaLqn7aV0aoHOU4TSZDNFNLU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dE+n9idpuH1tqyQX/jr+e7A2/orceiiNNzHPgmR7wtw8VKAHzTsV0ZuaF9/PZiRFz +N+W/6xep0FAZUgPBZ4MgemOK8cXsHyNtk21tUujRf4RNhMMJH6Hb84SFw4Jni3C5t vAnBWybQOwkf29GXDX+yT15vT5LG1fLo4szKWSYw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Davidlohr Bueso , Matt Fleming , "Peter Zijlstra (Intel)" , Linus Torvalds , Mike Galbraith , Thomas Gleixner , dave@stgolabs.net, rostedt@goodmis.org, Ingo Molnar , Sasha Levin Subject: [PATCH 3.18 121/185] sched/rt: Fix rq->clock_update_flags < RQCF_ACT_SKIP warning Date: Mon, 28 May 2018 12:02:42 +0200 Message-Id: <20180528100102.631341415@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100050.700971285@linuxfoundation.org> References: <20180528100050.700971285@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Davidlohr Bueso [ Upstream commit d29a20645d5e929aa7e8616f28e5d8e1c49263ec ] While running rt-tests' pi_stress program I got the following splat: rq->clock_update_flags < RQCF_ACT_SKIP WARNING: CPU: 27 PID: 0 at kernel/sched/sched.h:960 assert_clock_updated.isra.38.part.39+0x13/0x20 [...] enqueue_top_rt_rq+0xf4/0x150 ? cpufreq_dbs_governor_start+0x170/0x170 sched_rt_rq_enqueue+0x65/0x80 sched_rt_period_timer+0x156/0x360 ? sched_rt_rq_enqueue+0x80/0x80 __hrtimer_run_queues+0xfa/0x260 hrtimer_interrupt+0xcb/0x220 smp_apic_timer_interrupt+0x62/0x120 apic_timer_interrupt+0xf/0x20 [...] do_idle+0x183/0x1e0 cpu_startup_entry+0x5f/0x70 start_secondary+0x192/0x1d0 secondary_startup_64+0xa5/0xb0 We can get rid of it be the "traditional" means of adding an update_rq_clock() call after acquiring the rq->lock in do_sched_rt_period_timer(). The case for the RT task throttling (which this workload also hits) can be ignored in that the skip_update call is actually bogus and quite the contrary (the request bits are removed/reverted). By setting RQCF_UPDATED we really don't care if the skip is happening or not and will therefore make the assert_clock_updated() check happy. Signed-off-by: Davidlohr Bueso Reviewed-by: Matt Fleming Acked-by: Peter Zijlstra (Intel) Cc: Linus Torvalds Cc: Mike Galbraith Cc: Thomas Gleixner Cc: dave@stgolabs.net Cc: linux-kernel@vger.kernel.org Cc: rostedt@goodmis.org Link: http://lkml.kernel.org/r/20180402164954.16255-1-dave@stgolabs.net Signed-off-by: Ingo Molnar Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- kernel/sched/rt.c | 2 ++ 1 file changed, 2 insertions(+) --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -818,6 +818,8 @@ static int do_sched_rt_period_timer(stru struct rq *rq = rq_of_rt_rq(rt_rq); raw_spin_lock(&rq->lock); + update_rq_clock(rq); + if (rt_rq->rt_time) { u64 runtime;