Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp193064pxb; Wed, 24 Feb 2021 23:12:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJx8bBiUSPynMcHapYLWO+oaM6gRFnMlZ6r8+cvRAq4XGwC65T2sNr0gIU8TJJ0oKed3Ip/Y X-Received: by 2002:a17:907:111b:: with SMTP id qu27mr1396710ejb.453.1614237176298; Wed, 24 Feb 2021 23:12:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614237176; cv=none; d=google.com; s=arc-20160816; b=unb/zcLq8Y0r6QB+9PqZlauQe1sOARYbNVx0WRZ46E0z4rMNl2mRORqYDrRiwiOceT 1I0bND8hNl9ckyMHnrswccQaqt0FGzSKzVkp5kIMjURP62n3MY/96Zx03KMyLLUPw7D/ 32k0z1AhC4Ncfm6WB9KkReNMe1nIpmCuxB8VSphBAJM2RaHWfWp8S3imXnaIomdoVjJU +p5KeyrJFz6n4e+nRFEzT+itwlKiW3mGAq9r3B0TxI5uIkpHAht+55SSEi6dplcU0Bs8 Yg65PcDQM5JcJ2VaFILk3FMtyB2GRvR7Lqm9xTZSrb5+YnFhpXoXIfMElMNJYBUQAd38 MYoA== 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=LtAbq6qIr5l92jP66NbGrW0vpFrux+XA158WlXNEe44=; b=gfeH758jUQzXxWF774wXjWuPqKEk8m95bzo/ctvqg0wvDh9TDL9KwGS80ARK0izAzi +xECn9i6cCMdnI/FPxCn8W9ijGFd/L/WigMhB//D/q81EBWwXTh92sFZu8hngrV+g9DR bBVbNw+NeicA9W7iBzuveKKCbgCl6wCYXDVpSXmgVKEGzR4HYRUCySyFevS8EwGMovd7 hfAGjg/7oSCDqYy+NDr3YCE5Dr46AsMgwRgK/rXJ26pYKO/r0SswfUPUwRoRkeKEa7ag CdY9Fszq49O+tH6KJjx5+CbTgYODz7HgsCRfoCzTBhjOkiIL5Y6fxSAvq6zipbj4pRD6 OXVw== 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 v15si3013454ede.1.2021.02.24.23.12.30; Wed, 24 Feb 2021 23:12:56 -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 S233169AbhBYHJj (ORCPT + 99 others); Thu, 25 Feb 2021 02:09:39 -0500 Received: from kvm5.telegraphics.com.au ([98.124.60.144]:45332 "EHLO kvm5.telegraphics.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232763AbhBYHIK (ORCPT ); Thu, 25 Feb 2021 02:08:10 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by kvm5.telegraphics.com.au (Postfix) with ESMTP id B19BC2A0F1; Thu, 25 Feb 2021 02:07:21 -0500 (EST) Date: Thu, 25 Feb 2021 18:07:22 +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: <79b5bdb1b5d94b248671bf99a930d971@hisilicon.com> Message-ID: <96385966-f423-4218-bd7-1bc7d8e6113f@telegraphics.com.au> References: <1612697823-8073-1-git-send-email-tanxiaofei@huawei.com> <31cd807d-3d0-ed64-60d-fde32cb3833c@telegraphics.com.au> <7bc39d19-f4cc-8028-11e6-c0e45421a765@huawei.com> <588a87f-ae42-0b7-749e-c780ce5c3e4f@telegraphics.com.au> <8c99b5c060eb4e5aa5b604666a8db516@hisilicon.com> <4d2f90d2157045a7b0800a4004f539ba@hisilicon.com> <7293ba4c-c5ab-528f-1feb-dc59bfb0df2d@telegraphics.com.au> <79b5bdb1b5d94b248671bf99a930d971@hisilicon.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 24 Feb 2021, Song Bao Hua (Barry Song) wrote: > > Realtime requirement is definitely a true requirement on ARM Linux. > > I once talked/worked with some guys who were using ARM for realtime > system. > The feasible approaches include: > 1. Dual OS(RTOS + Linux): e.g. QNX+Linux XENOMAI+Linux L4+Linux > 2. preempt-rt > Which is continuously maintained like: > https://lore.kernel.org/lkml/20210218201041.65fknr7bdplwqbez@linutronix.de/ > 3. bootargs isolcpus= > to isolate a cpu for a specific realtime task or interrupt > https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/7/html/tuning_guide/isolating_cpus_using_tuned-profiles-realtime > 4. ARM FIQ which has separate fiq API, an example in fsl sound: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/fsl/imx-pcm-fiq.c > 5. Let one core invisible to Linux > Running non-os system and rtos on the core > Regarding Linux systems, it appears that approach 3 could theoretically achieve minimal interrupt latency for a given device without requiring any interrupt nesting. But the price is one CPU core which is not going to work on a uniprocessor system. > Honestly, I've never seen anyone who depends on irq priority to support > realtime in ARM Linux though ARM's RTOS-es use it quite commonly. > Perhaps you don't work with uniprocessor ARM Linux systems? > Once preempt_rt is enabled, those who want a fast irq environment need a > no_thread flag, or need to set its irq thread to higher sched_fifo/rr > priority. > Thanks for the tip. > [...] > > Anyway, the debate is long enough, let's move to some more important > things. I appreciate that you shared a lot of knowledge of m68k. > No problem. > Thanks > Barry >