Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937325AbdLSDYI (ORCPT ); Mon, 18 Dec 2017 22:24:08 -0500 Received: from mail.kernel.org ([198.145.29.99]:50532 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934808AbdLSDYG (ORCPT ); Mon, 18 Dec 2017 22:24:06 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0030C21879 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=frederic@kernel.org From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Peter Zijlstra , Chris Metcalf , Thomas Gleixner , Luiz Capitulino , Christoph Lameter , "Paul E . McKenney" , Ingo Molnar , Wanpeng Li , Mike Galbraith , Rik van Riel Subject: [RFC PATCH 0/5] isolation: 1Hz residual tick offloading Date: Tue, 19 Dec 2017 04:23:53 +0100 Message-Id: <1513653838-31314-1-git-send-email-frederic@kernel.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1366 Lines: 37 Finally! It has been years since I had to do that but I kept knocking against prerequisites, mostly about making scheduler_tick() resilient against the absence of ticks. Now it seems that current->sched_class->task_tick() is the last piece of it. This patchset adds a flag to the isolcpus boot option to offload the residual 1Hz tick. For quick testing, say on CPUs 1-7: "isolcpus=nohz_offload,domain,1-7" git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git timers/0z HEAD: a9366794579a4ff71ec3546b9983536a669fbfb9 Thanks, Frederic --- Frederic Weisbecker (5): sched: Move tick code to a separate file sched: Rename init_rq_hrtick to hrtick_rq_init sched/isolation: Add scheduler tick offloading interface sched/isolation: Residual 1Hz scheduler tick offload sched/isolation: Document "nohz_offload" flag Documentation/admin-guide/kernel-parameters.txt | 7 +- include/linux/sched/isolation.h | 3 +- kernel/sched/Makefile | 2 +- kernel/sched/core.c | 186 +----------------- kernel/sched/isolation.c | 10 + kernel/sched/sched.h | 13 +- kernel/sched/tick.c | 250 ++++++++++++++++++++++++ 7 files changed, 284 insertions(+), 187 deletions(-)