Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1065339imm; Fri, 15 Jun 2018 10:35:21 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKy5epTNsiCflOZ+ketA6alYyo6UH7AP3Yij2S8j6Zvc/yhHOKa53WqI/kYTQ+ePXJVNKCW X-Received: by 2002:a63:7d51:: with SMTP id m17-v6mr2439559pgn.245.1529084120851; Fri, 15 Jun 2018 10:35:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529084120; cv=none; d=google.com; s=arc-20160816; b=OGB8qqfKJNQXTfJAAOzrTiHzxNZnZCFTzEaUwRpaOM6efFPcxtzjQNdoy9wIN92IUa 2ogF6bVvXmr3F+PqgOOBlUeqedouqVYOLE4QHqBELhwM02NIhAGYJKkRpooEUHGR1GCm zmy8FGhYJTUE/Z4Ici9k8gs5nT9OHhw/ocOYiU+1IQMIYxYLWtRsiF/BrjFtXwn5Ah35 72aaIvCMYcXgwYZ+0kA4KYIU+PqVmdAMFxvT5nv+y7bPjPbPXQ9XkJBOXHuldMmFH/bS c0CJzrpsemFWr0lLtQBpiL18AyZLJCy7vHJva13oZoBxswddcrYFSf8BuXviZ0c7Jbs7 h/Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=o7hnothY2+45fbll/CxrK3d4ddSWUzeGhT5CPk3VuP0=; b=xWLCcgae+Zid2iH9OIbvK2mWdIYDjxU5hFy12S5a5W30qV2iC9EMcicubQcwUjlA6j vpH6hua0agHrak7JU11Zf0ySZNc0hubN6rzCbfsziN5VYmV18YscvfkCrgN6dGKaYQSF zLsU4q1CHWseMqqwtoTVu0Mn1ZCOzOUiABEGcAxiOacTmxHsah4Y2sI6Ta6M50sfVyEU P0fwl4WZ8kWUHjhIBuwAFyV/dYNgrdeVFEh+0BmBjGNjc04ATZ5FRK9z1kgCrD8M6oPJ rX+obqD3/QBIEQsiOFueGvOLEBcztqCIUCYk78eEgWlzO031cRFQQ1LJzJojNNungsl7 6r9w== ARC-Authentication-Results: i=1; mx.google.com; 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 c27-v6si7135684pgn.320.2018.06.15.10.35.05; Fri, 15 Jun 2018 10:35:20 -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; 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 S966086AbeFORec (ORCPT + 99 others); Fri, 15 Jun 2018 13:34:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:48424 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965916AbeFOReb (ORCPT ); Fri, 15 Jun 2018 13:34:31 -0400 Received: from gandalf.local.home (cpe-66-24-56-78.stny.res.rr.com [66.24.56.78]) (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 25EC820896; Fri, 15 Jun 2018 17:34:30 +0000 (UTC) Date: Fri, 15 Jun 2018 13:34:28 -0400 From: Steven Rostedt To: Thomas Gleixner Cc: Alan Stern , Mikulas Patocka , Ming Lei , Greg Kroah-Hartman , USB list , Kernel development list , Sebastian Sewior Subject: Re: High-priority softirqs [was: [PATCH] usb: don't offload isochronous urb completions to ksoftirq] Message-ID: <20180615133428.20205bae@gandalf.local.home> In-Reply-To: References: X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 15 Jun 2018 19:28:34 +0200 (CEST) Thomas Gleixner wrote: > One solution to that is to avoid both tasklets and kworkers and change the > USB code to make use of threaded interrupt handlers. I.e. handle the fast > stuff in the primary (hardirq) handler and delegate the rest to the irq > thread. That thread still can offload disk type stuff to a kworker if > needed. But the irq thread allows to bring the stuff under scheduler > control and experiments which I did a few years ago worked out pretty good. If there's any question about this, drivers can request to have their interrupt handlers run as threads. This has been added to mainline years ago. And it really should be the default solution before pushing off to tasklets or kworkers. -- Steve