Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp3354795pxb; Tue, 20 Apr 2021 06:35:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz4AjPceAdtzPP5rIolgecmgJc+EHA4UvMNfH/McQHiqre72LtUTF8BjuHwyC0Rqe0wlBKW X-Received: by 2002:a17:902:8b81:b029:eb:5a4:9cae with SMTP id ay1-20020a1709028b81b02900eb05a49caemr29235798plb.13.1618925737204; Tue, 20 Apr 2021 06:35:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618925737; cv=none; d=google.com; s=arc-20160816; b=Se0TG4S4wBc3Sgvj+GPSUYFyTf30FEdVAIsroMc1JCY/jn2qDVdhQI9ADbNnPDSJU6 6eGuirGB9bBlI8BquVIMFa9BYLc7vgku6tDu0UchehZo2kZh3LiQCvlpBHQ0mCAo2wdd WTXQYkW1QiG7TGFgBqjH/ayHsfLPC/g8TjNiy2GaiYPVjVah+uJWjU6+C94dmpXbnk1d gA3mvX5kpD0SRvMvD0QH3QHtUNQ4vSD41A5HklBdVan6WZ+f5Ults8MEp6stgqWU21TQ +eEClTnqgYc/WYqzj1A3MH8sXvE4lL3IiyQ00TnLsqrqf7UoueM3F8piKHwsHU8JYYCZ B/eA== 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-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=vdBcp9f+Y+NjuSY4plP2jnk3fMAR2GgyVGNWh1RxQLs=; b=eCxJMcRS3081/Dr5hw+6SXqUofg6J1jJME17jVU/WF0GrguQYKRXiLotThq7EOHT9S Y5kNlJvcMZwmyBMIJ1YRshMdcK13KQCIJOIfvmdtP58hdNJsLsXCLZ3DnWmoGD4JMuNS CyikD9RF6mn26W449gqeVFncAP45NGhgODdOgoe7LZB380I9gZq3rVAvs8d6ziFUea9y d2l9esSm0hPXaf10CNxz3QDkIEK/kgRTEa7Du+R+9neADMUe+jul7JG4pBkGp4jWw4gE KDN5NvpI8VvaNZWuCjcPWiySQrn5scsocpBlfv4P/jYK+InMXc4q9gMsvqI7WiOfqBTN SOGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=KckIqJHZ; 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 s25si2427782pgq.532.2021.04.20.06.35.24; Tue, 20 Apr 2021 06:35:37 -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=@infradead.org header.s=casper.20170209 header.b=KckIqJHZ; 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 S232635AbhDTNfV (ORCPT + 99 others); Tue, 20 Apr 2021 09:35:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232673AbhDTNfM (ORCPT ); Tue, 20 Apr 2021 09:35:12 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 154B6C06174A for ; Tue, 20 Apr 2021 06:34:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=vdBcp9f+Y+NjuSY4plP2jnk3fMAR2GgyVGNWh1RxQLs=; b=KckIqJHZiRqF1mfSqOHIlS+E6t U22gXybkRvT2ebT3gRDrbCsXZ9Nh1oqmgEghWOFGhkT151Su9LSywEm5Vgtpl2GLyPjS/MLCye0fu LfVyfL3/mbtvQt4t1t6aDcFpei7wvdx0aDAe1gUXEz62pRQRbGvBYHfUyHB2jyrkPRvEjFp40wnTx etzaO0R4OEgzUmBP+FfIV94YiSGEATc3u17mHQnPcmche84gIBfiuX9JQrwolpOWUVzrqv8eEtB9E 4rgIp4QUuaslVmh8ooTFPYePwuy3hfOSuyg/WkVeBaBwAVZL5pYPCw7G0fABDNgCLvPWRx2wVZUiI TTn/Zudg==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=noisy.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.94 #2 (Red Hat Linux)) id 1lYqT1-00FDAj-Hy; Tue, 20 Apr 2021 13:31:26 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 3BC4C30018E; Tue, 20 Apr 2021 15:31:03 +0200 (CEST) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 241342CD0A95B; Tue, 20 Apr 2021 15:31:03 +0200 (CEST) Date: Tue, 20 Apr 2021 15:31:03 +0200 From: Peter Zijlstra To: Luigi Rizzo Cc: linux-kernel , axboe@kernel.dk, paulmck@kernel.org Subject: Re: [PATCH] smp: add a best_effort version of smp_call_function_many() Message-ID: References: <20210419184455.2987243-1-lrizzo@google.com> <20210419191712.GB26214@worktop.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 20, 2021 at 12:41:08PM +0200, Luigi Rizzo wrote: > On Tue, Apr 20, 2021 at 11:14 AM Peter Zijlstra wrote: > > We mostly try and avoid using this stuff wherever possible. Only when > > no other choice is left do we send IPIs. > > > > NOHZ_FULL already relies on this and gets massively unhappy when a new > > user comes and starts to spray IPIs. > > I am curious, why is that -- is it because the new user is stealing > the shared csd's in cfd_data (see below), or some other reason ? The premise of NOHZ_FULL is that it will not be interrupted. There are users who are working on a mode where any interruption will cause a (fatal) signal. > > So no; mostly we send an IPI because we _HAVE_ to, not because giggles. > > > > That said; there's still some places left where we can avoid sending > > IPIs, but in all those cases correctness mandates we actually handle > > things and not randomly not do anything. > > My case too requires that the request is eventually handled, but with > this non-blocking IPI the caller has a better option than blocking: > it can either retry the multicast IPI at a later time if conditions allow, > or it can post a dedicated CSD (with the advantage that being my > requests idempotent, if the CSD is locked there is no need to retry > because it means the handler has not started yet). > > In fact, if we had the option to use dedicated CSDs for multicast IPI, > we wouldn't even need to retry because we'd know that the posted CSD > is for our call back and not someone else's. What are you doing that CSD contention is such a problem?