Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3975977ybz; Mon, 4 May 2020 13:18:37 -0700 (PDT) X-Google-Smtp-Source: APiQypLKsRipo+mUBG5oWFVwackmmH7QwcUm/Y01HaPebxMTafq0dhbBJ5Hx3g6iVxNCCfQ/wtVB X-Received: by 2002:a17:906:7750:: with SMTP id o16mr16585036ejn.12.1588623517240; Mon, 04 May 2020 13:18:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588623517; cv=none; d=google.com; s=arc-20160816; b=Fi2liyfSNMlvKVaUq5Unwu4oAmU9+PjJY1oxEm/kbUBzQ+595Z2Zk9KS4dyCSG+Ioi nb7KE/AURLl4sKb6z/oC8Cloac4sBw2J1sFZe4hEzEHtlVrLVvHNWyu5KBPq3wXA+VIL y2up3jcsV8DW5j4YegBmL//3ycJZOEx9CPElCAfHl5Bui5JncgnZPPpjPMdv5ee8sJCK nx/dxkGFA46diWeyL4cKNb80phN+11NxJrgZNF5l7fGklzFEG7iFhl689AvN/l70XgUM NIdDN4iPDN7ySDgG80dgnzsYmI5LZJlmsqKD9CcTgUhvHJgeSJMdNCY880Or/6MVqH68 QeEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:reply-to:message-id :subject:cc:to:from:date:dkim-signature; bh=YcXOPHi9YjPuANsM4Ty2pIRwKSrNaxfsYdiIqRTNNV4=; b=hDF1Gf1AEt7Ry489bJVuqKhX/2+u/RcR+y9KaYbPnbC2Bd69+qUT5vLe1jyOirS9Cf rnqp6M4hFvPU4E1XrGgOUCBfeyNjLNovAbyrkVnmetd7N9XVCH/HnuTT6Gzlt3NYWumh Yz8nahc/MWmuaTo8NGH0FIADfca7CiMDpHre6leXAIrCGc+67KG080yBtvrEJRVF1n4f bMW9j+XvduTNTRTCWsdA4HIAWrQjB/gdqat6Po4GCR9UzzdTLDLVkZWEw4b7qGd6Y+AS IRFNx5z5ZxDO7lGEN1Y/uRpYpWismD2KoxHnZuR+CCALQg6kmv/SNNDJOeTzRqIuFKtV e1uQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1EQzk4zn; 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=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h21si35475edj.79.2020.05.04.13.18.13; Mon, 04 May 2020 13:18: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=@kernel.org header.s=default header.b=1EQzk4zn; 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=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726756AbgEDUQm (ORCPT + 99 others); Mon, 4 May 2020 16:16:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:36598 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726404AbgEDUQm (ORCPT ); Mon, 4 May 2020 16:16:42 -0400 Received: from paulmck-ThinkPad-P72.home (50-39-105-78.bvtn.or.frontiernet.net [50.39.105.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E7717206B8; Mon, 4 May 2020 20:16:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588623401; bh=hW3ph/2nipyI/W/meM/WDNTKSi7aceHcjSkbjMyufdY=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=1EQzk4znGbAz09nsdoRftqs/Sa5D9kWPjAbeE5YpYm3+2nSmWArUogRM4z4iGwirr MQOcr6kFOgqG491UR+evJv2Ow3POLaGUM01JwBFee97EaII9yM8VAojpypHNe2I64G siSbK46R8pasfndQZqdPNAORSx9yueI4gc9kNqWs= Received: by paulmck-ThinkPad-P72.home (Postfix, from userid 1000) id B594135226F4; Mon, 4 May 2020 13:16:41 -0700 (PDT) Date: Mon, 4 May 2020 13:16:41 -0700 From: "Paul E. McKenney" To: Uladzislau Rezki Cc: Joel Fernandes , LKML , linux-mm , Andrew Morton , "Theodore Y . Ts'o" , Matthew Wilcox , RCU , Oleksiy Avramchenko Subject: Re: [PATCH 09/24] rcu/tree: cache specified number of objects Message-ID: <20200504201641.GV2869@paulmck-ThinkPad-P72> Reply-To: paulmck@kernel.org References: <20200428205903.61704-1-urezki@gmail.com> <20200428205903.61704-10-urezki@gmail.com> <20200501212749.GD7560@paulmck-ThinkPad-P72> <20200504124323.GA17577@pc636> <20200504152437.GK2869@paulmck-ThinkPad-P72> <20200504174822.GA20446@pc636> <20200504180805.GA172409@google.com> <20200504190138.GU2869@paulmck-ThinkPad-P72> <20200504195128.GA21830@pc636> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200504195128.GA21830@pc636> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 04, 2020 at 09:51:28PM +0200, Uladzislau Rezki wrote: > > > > Since we don't care about traversing backwards, isn't it better to use llist > > > > for this usecase? > > > > > > > > I think Vlad is using locking as we're also tracking the size of the llist to > > > > know when to free pages. This tracking could suffer from the lost-update > > > > problem without any locking, 2 lockless llist_add happened simulatenously. > > > > > > > > Also if list_head is used, it will take more space and still use locking. > > > > > > Indeed, it would be best to use a non-concurrent singly linked list. > > > > Ok cool :-) > > > > Is it safe to say something like the following is ruled out? ;-) :-D > > #define kfree_rcu_list_add llist_add > > > In that case i think it is better just to add a comment about using > llist_head. To state that it used as a singular list to save space > and the access is synchronized by the lock :) > > IMHO. But adding such a comment would be fine as well. Thanx, Paul