Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp80461ybl; Tue, 27 Aug 2019 16:11:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqyebrHYsEMJsUVR6l977pGM+CMX4wqeIn+jX5Pa60B1GSAca6gp+YBsDGC4axsTcYxeGTYo X-Received: by 2002:a63:de4f:: with SMTP id y15mr826327pgi.239.1566947516210; Tue, 27 Aug 2019 16:11:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566947516; cv=none; d=google.com; s=arc-20160816; b=rTiryiMRg1oLo4uIjqQetm2UIY1p/4ptJJx38KjacLcDxj8jK4MfHutKFxxdPde/DI xxBi7EzT5cpT9PUf9FPlXRrAsgMhYdQPhbAp4aI4x/x8GjWSoBIRbEZtnha6Rm/aLRC6 lqYjNVz1Bs0Z+fcSkqDYSQeRbl3KY+JQQlbEhUR3eFb7TDfXvIkYDGfKHVGVxMx2Gg84 dOIKVWDMlIjRaF3xpf1GdRzz1xHk+Z49aWfLpG5XlT++sGezFafaakgHCrAN+MhXZt/m S+xLmLHGUka6VLecb0T2phq69cI35X5DbAZzUWNgEbx84gjVaykEx3XQgcByY89M9V9q c4hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=kpKI6Z226uuQZpCalnh+SGLtNssJoeD7OPkbhPRlPqY=; b=b3wRKH6TqJ5kSIcycLnXyDAI36EL+nmtT8qFOrIl4AL7Vw21gMzq3U6pvy2Xs2kOz6 dlEqSjZIWOeN0a6QZTLuxOnjtjM0IDwv4n20to5hNjgl3ql23fpvHkOrU/Qq3c0JCFll SBsUtmwDno/eQdvtfw/vRqVizMDjMMDS10WcYOT9J6jsCjgRJJnkOFpx1KvHfjj82Qzt K3KC+Y75/Zj538hawVDLRPbCWzfGGJimHZrBJ+TszKzrXhcIj/hJu2U6myrLWpKmcv6l M1eevAa8UeOFUDRrfYc+mw49Qngm4+9WboQZpMl+kyQNaAcuAHqMhcOCssyIl9CqF1BB Q62Q== 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 v123si680682pfb.241.2019.08.27.16.11.40; Tue, 27 Aug 2019 16:11:56 -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 S1726385AbfH0XKa (ORCPT + 99 others); Tue, 27 Aug 2019 19:10:30 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:45346 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726030AbfH0XK3 (ORCPT ); Tue, 27 Aug 2019 19:10:29 -0400 Received: from p5de0b6c5.dip0.t-ipconnect.de ([93.224.182.197] helo=nanos) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1i2kav-0005Z5-8r; Wed, 28 Aug 2019 01:09:45 +0200 Date: Wed, 28 Aug 2019 01:09:44 +0200 (CEST) From: Thomas Gleixner To: Ming Lei cc: linux-kernel@vger.kernel.org, Long Li , Ingo Molnar , Peter Zijlstra , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , John Garry , Hannes Reinecke , linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org Subject: Re: [PATCH 1/4] softirq: implement IRQ flood detection mechanism In-Reply-To: <20190827225827.GA5263@ming.t460p> Message-ID: References: <20190827085344.30799-1-ming.lei@redhat.com> <20190827085344.30799-2-ming.lei@redhat.com> <20190827225827.GA5263@ming.t460p> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 28 Aug 2019, Ming Lei wrote: > On Tue, Aug 27, 2019 at 04:42:02PM +0200, Thomas Gleixner wrote: > > On Tue, 27 Aug 2019, Ming Lei wrote: > > > + > > > + int cpu = raw_smp_processor_id(); > > > + struct irq_interval *inter = per_cpu_ptr(&avg_irq_interval, cpu); > > > + u64 delta = sched_clock_cpu(cpu) - inter->last_irq_end; > > > > Why are you doing that raw_smp_processor_id() dance? The call site has > > interrupts and preemption disabled. > > OK, will change to __smp_processor_id(). You do not need smp_processor_id() as all. > > Also how is that supposed to work when sched_clock is jiffies based? > > Good catch, looks ktime_get_ns() is needed. And what is ktime_get_ns() returning when the only available clocksource is jiffies? > > > > > + inter->avg = (inter->avg * IRQ_INTERVAL_EWMA_PREV_FACTOR + > > > + delta * IRQ_INTERVAL_EWMA_CURR_FACTOR) / > > > + IRQ_INTERVAL_EWMA_WEIGHT; > > > > We definitely are not going to have a 64bit multiplication and division on > > every interrupt. Asided of that this breaks 32bit builds all over the place. > > I will convert the above into add/subtract/shift only. No. Talk to Daniel. There is not going to be yet another ad hoc thingy just to make block happy. And aside of that why does block not have a "NAPI" mode which was explicitely designed to avoid all that? Thanks, tglx