Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3593202pxf; Mon, 22 Mar 2021 10:01:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw6qQcfnWiMQTmDJSLNq3jiS1I50G2BP4rHzoTaT69bnx6Q2svZ39fAX4X+ibdUatbfH8jM X-Received: by 2002:a17:907:6289:: with SMTP id nd9mr787602ejc.384.1616432470362; Mon, 22 Mar 2021 10:01:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616432470; cv=none; d=google.com; s=arc-20160816; b=bMZS5Oy+ESa+wjHaBueW1J320uo0Xklp+hRii91PQIyOjw7XQnjbfR7G5MLfYLDWcI AuSm2eakTMKMslgJdtFIbEHGZyNQTkEJmCcDkNcDaLw8iLNhqwdRDWXaA0SPOjxxDJEm xvz0KJr74jrHGtnVtEyUwtIUSu4RPkS0A3uhh+Y/CJjun4JSMdqzT1MNz8BziP0Spzs7 p148CvPnX2/rl3fhk4piiqU//G36w7HRTBbjP+MAkcXlLwWTYhpQrnvF1uzLDWlpOVZa Tuzn78yiysWztY8eZgtrevwr3CUrtzq8wsqc+YTBAd9J54XL6+tFIS2pS74YHesZ+1Ln GGww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:dkim-signature:dkim-signature:date; bh=DQVfYmOjNdPPfTYQ9DYdWbQlRVy8ECEn1P6lOCZxTYo=; b=yi4ulFgiZF2F4G1MfMOAxKEe3VMUOeSafxhWF/fQhFGvKxfM87xCbB3TlocwKCybav k0dkyNEGaJGXivJC1kl6ZUOKxzS2ctS0nJoprPvVjndLgdgUSLc5lzAEbLQHzvArvRTx 6AdQGLGhekKBiNcQvwi5e8ni+nUKUCh224tp/m2TH+7vfOfol2m+qfJUmDx6wAox0zqO uW19i5hBTh+dYG42IbJbjNVtjHON3cBz8psruBIe+55kr3z3ODqAVwcS3bTeIsrl3wez zs8RATL4cChy8oTUATCub2inV2+E+/YYqxNZXLY3Y0aEXaNLY4WZIYcWvFZQlrP3D6EO 0Yfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=3BQH2Xln; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t19si12240112ejd.179.2021.03.22.10.00.46; Mon, 22 Mar 2021 10:01:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=3BQH2Xln; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231469AbhCVQ7k (ORCPT + 99 others); Mon, 22 Mar 2021 12:59:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229746AbhCVQ7V (ORCPT ); Mon, 22 Mar 2021 12:59:21 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39AA6C061574; Mon, 22 Mar 2021 09:59:21 -0700 (PDT) Date: Mon, 22 Mar 2021 17:59:17 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1616432359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DQVfYmOjNdPPfTYQ9DYdWbQlRVy8ECEn1P6lOCZxTYo=; b=3BQH2Xlnq6MG2qFplKHQxUvgK39aFDz3Hru0oq8bZZ3qQQwM/72ZjC0mDS50mAIPXGPW1x ws7MC5j73QM5N84MYgHcL/A3qcnzs2HKxP0dmFO0jzo01OhK6mvq9YKtSBixbIiK0OX667 IWhu2bF/FNwxiBC0TjoewSLDtUhMe+eMv57ikRal1yT9oNVZECCqjLI9zq9bx+42TLbesK 1Y5OyrsbRf0qezLg6BKmQZPJF853TaluEWHQxGnuOxZXm0ufQ+ngsSZDDrN8ooaYkIR62o OfaZricXCezyJ/g9/Fw3j/SngzPiqdwFr8gg0xmFgWsMf1+sY110cipGDgbvig== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1616432359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DQVfYmOjNdPPfTYQ9DYdWbQlRVy8ECEn1P6lOCZxTYo=; b=NoqlvPKS1+sioBwkL1BS9TP7pzlYMyQa2gzuj8HSqqkOYRTMbwOkeF6IAZLaXyaf//qV1N aXz1cVr1vseCvPBg== From: Sebastian Andrzej Siewior To: Alan Stern Cc: Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Stanislaw Gruszka , Thomas Gleixner , Peter Zijlstra Subject: Re: [PATCH] USB: ehci: drop workaround for forced irq threading Message-ID: <20210322165917.it5d5f5kuvs7jah5@linutronix.de> References: <20210322111249.32141-1-johan@kernel.org> <20210322164200.GB667925@rowland.harvard.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20210322164200.GB667925@rowland.harvard.edu> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2021-03-22 12:42:00 [-0400], Alan Stern wrote: > What happens on RT systems? Are they smart enough to avoid the whole=20 > problem by enabling interrupts during _all_ callbacks? tl;dr: Yes.=20 The referenced commit (id 81e2073c175b) disables interrupts only on !RT configs so for RT everything remains unchanged (the backports are already adjusted for the old stable trees to use the proper CONFIG_* for enabled RT). All hrtimer callbacks run as HRTIMER_MODE_SOFT by default. The HRTIMER_MODE_HARD ones (which expire in HARDIRQ context) were audited / explicitly enabled. The same goes irq_work. The printk code is different compared to mainline. A printk() on RT in HARDIRQ context is printed once the HARDIRQ context is left. So the serial/console/=E2=80=A6 driver never gets a chance to acquire its lock in hardirq context. An interrupt handler which is not forced-threaded must be marked as such and must not use any spinlock_t based locking. lockdep/might_sleep complain here already. > Alan Stern Sebastian