Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp223404pxb; Mon, 8 Feb 2021 21:15:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJxP/owtt6Xfo6y1rfSPDpFl0o692pUKhUcCMQwwb0L3byxpDyHJZHlaSv2hOzBNBycYt8HZ X-Received: by 2002:a05:6402:d05:: with SMTP id eb5mr20537113edb.143.1612847751830; Mon, 08 Feb 2021 21:15:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612847751; cv=none; d=google.com; s=arc-20160816; b=E7BPmJzMMAJfrN0W/IPVukqyLxDXFjJocnfqM03oMC7vdGNf2vSZFIVln0pkUpTxxS leGi6FfVvVnT8w0GHvmGp9Cj6jMdruXcDOo0Rfu9spnVnzdqAHwsr0ZP5Wm00iHKDxrZ b6fBcjUCNwANOQ3ppvt1J1Skuxa1KrIAxE0w3fgXcTZvCq6kJ0Pc4iIT+qZ4u2lZ0Bef +wBk/xeC4bA9B/87AooaD/KkCeH0YLfiFQmg7080Ddg21q4Z7NMunsBxahKFGQqQwPLa X+rj+bSE6FTBx6zlAzV640O5fX0TyBdj+qv3lfXolJOLxPd5JKhial3cK25Uuv8QBgbb kwUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:message-id:in-reply-to :subject:cc:to:from:date; bh=7Tq7oBJWn0SvgfHYmQL7W9se0bHtgACqjO2lIDp+dBs=; b=bp+MhVNYCkgb6XscMftX4Nvns2hYk+kkX44zynOW0LdkvBHciar+uwiw01g+dmodF+ syuDwQxyziMl0MbXsrzQxwxkE1TBtDNPgmWgbED/KTiHfcmDFQeQBkId53FXAfB0l/IB xFUmTCjpoupR3tyRMq7ohq9xvReGG+YuqlbMP69AzofBPBbHQq8AT0dDt66hOxnyG9fz w1p91alk5FTl2uP2aeurnOq12mWFZbvs/+h424zeBUhg6y0Z8ep0nQha9GfcNODGg0x9 ZU+r1K9qD1LEBWJdvyFh0u3sRtnhir8xQWE4AwV3V2LBaHdEy0EaQHJj6QmoGHa+IhV2 jpJw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m28si14201730eda.290.2021.02.08.21.15.27; Mon, 08 Feb 2021 21:15:51 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230256AbhBIFLw (ORCPT + 99 others); Tue, 9 Feb 2021 00:11:52 -0500 Received: from kvm5.telegraphics.com.au ([98.124.60.144]:50758 "EHLO kvm5.telegraphics.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230003AbhBIFGu (ORCPT ); Tue, 9 Feb 2021 00:06:50 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by kvm5.telegraphics.com.au (Postfix) with ESMTP id C47A52ADCA; Tue, 9 Feb 2021 00:06:02 -0500 (EST) Date: Tue, 9 Feb 2021 16:06:06 +1100 (AEDT) From: Finn Thain To: "Song Bao Hua (Barry Song)" cc: tanxiaofei , "jejb@linux.ibm.com" , "martin.petersen@oracle.com" , "linux-scsi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linuxarm@openeuler.org" , linux-m68k@vger.kernel.org Subject: RE: [Linuxarm] Re: [PATCH for-next 00/32] spin lock usage optimization for SCSI drivers In-Reply-To: Message-ID: References: <1612697823-8073-1-git-send-email-tanxiaofei@huawei.com> <31cd807d-3d0-ed64-60d-fde32cb3833c@telegraphics.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 9 Feb 2021, Song Bao Hua (Barry Song) wrote: > > -----Original Message----- > > From: Finn Thain [mailto:fthain@telegraphics.com.au] > > Sent: Monday, February 8, 2021 8:57 PM > > To: tanxiaofei > > Cc: jejb@linux.ibm.com; martin.petersen@oracle.com; > > linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; > > linuxarm@openeuler.org > > Subject: [Linuxarm] Re: [PATCH for-next 00/32] spin lock usage optimization > > for SCSI drivers > > > > On Sun, 7 Feb 2021, Xiaofei Tan wrote: > > > > > Replace spin_lock_irqsave with spin_lock in hard IRQ of SCSI drivers. > > > There are no function changes, but may speed up if interrupt happen too > > > often. > > > > This change doesn't necessarily work on platforms that support nested > > interrupts. > > > > Were you able to measure any benefit from this change on some other > > platform? > > I think the code disabling irq in hardIRQ is simply wrong. > Since this commit > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e58aa3d2d0cc > genirq: Run irq handlers with interrupts disabled > > interrupt handlers are definitely running in a irq-disabled context > unless irq handlers enable them explicitly in the handler to permit > other interrupts. > Repeating the same claim does not somehow make it true. If you put your claim to the test, you'll see that that interrupts are not disabled on m68k when interrupt handlers execute. The Interrupt Priority Level (IPL) can prevent any given irq handler from being re-entered, but an irq with a higher priority level may be handled during execution of a lower priority irq handler. sonic_interrupt() uses an irq lock within an interrupt handler to avoid issues relating to this. This kind of locking may be needed in the drivers you are trying to patch. Or it might not. Apparently, no-one has looked.