Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751236AbeAPEkx (ORCPT + 1 other); Mon, 15 Jan 2018 23:40:53 -0500 Received: from mail.kernel.org ([198.145.29.99]:42050 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750831AbeAPEkv (ORCPT ); Mon, 15 Jan 2018 23:40:51 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D6A3321721 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 , Levin Alexander , Peter Zijlstra , Mauro Carvalho Chehab , Linus Torvalds , Hannes Frederic Sowa , "Paul E . McKenney" , Wanpeng Li , Dmitry Safonov , Thomas Gleixner , Eric Dumazet , Radu Rendec , Ingo Molnar , Stanislaw Gruszka , Paolo Abeni , Rik van Riel , Andrew Morton , David Miller Subject: [RFC PATCH 0/5] softirq: Per vector threading v2 Date: Tue, 16 Jan 2018 05:40:35 +0100 Message-Id: <1516077640-19718-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 Return-Path: So this set is in a testable state. I addressed preliminary reviews from Eric Dumazet, Paolo Abeni and Linus. You may want to play with MAX_SOFTIRQ_RESTART value, which is now the number of calls allowed for a vector in a jiffy frame before it gets queued to the workqueue. I set it to the arbitrary value of 20 which is likely too low. Also I'm not sure about the last patch. For example in the usecase of Dmitry Safonov it may be better not to apply it. I guess only testing and reviews can tell. git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git softirq/thread HEAD: 5a4c02b25bdcd853e3874d5319492ea6097f6e70 Thanks, Frederic --- Frederic Weisbecker (5): softirq: Account time and iteration stats per vector softirq: Per vector deferment to workqueue softirq: Defer to workqueue when rescheduling is needed softirq: Replace ksoftirqd with workqueues entirely softirq: Reset vector call counter before workqueue completion Documentation/RCU/stallwarn.txt | 4 +- include/linux/interrupt.h | 7 +- kernel/sched/cputime.c | 12 +-- kernel/sched/sched.h | 4 +- kernel/softirq.c | 232 +++++++++++++++++++++++++--------------- net/ipv4/tcp_output.c | 5 +- 6 files changed, 161 insertions(+), 103 deletions(-)