From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 492E7C47077 for ; Thu, 11 Jan 2024 20:37:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C7F946B009E; Thu, 11 Jan 2024 15:37:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C2C9A6B00A4; Thu, 11 Jan 2024 15:37:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ACD7B6B00A7; Thu, 11 Jan 2024 15:37:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 98D8E6B009E for ; Thu, 11 Jan 2024 15:37:42 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 77290A21A0 for ; Thu, 11 Jan 2024 20:37:42 +0000 (UTC) X-FDA: 81668191164.08.268496F Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by imf15.hostedemail.com (Postfix) with ESMTP id 9830CA000A for ; Thu, 11 Jan 2024 20:37:40 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=VtiQtLcJ; dmarc=pass (policy=quarantine) header.from=fromorbit.com; spf=pass (imf15.hostedemail.com: domain of david@fromorbit.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=david@fromorbit.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705005460; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yxBuKN/MoPpwsq3PNEySr+XuvXYo9s46uBeQBOjipgw=; b=klqsKRY/hkrRKz3azc0sWcL+sefx0mOZa/PwaELDdG6SM/394oXUpGOWTulgYiFQWET3SN FyHjY42E3z0+fxqRm4G8/KULE3+pHefkoefPryRNfQGZrPZPLOdUzJwwgSVgC4WRSZ8CZR 3v7DSJC/veqyekCwxodQov8oUY9lnKk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=VtiQtLcJ; dmarc=pass (policy=quarantine) header.from=fromorbit.com; spf=pass (imf15.hostedemail.com: domain of david@fromorbit.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=david@fromorbit.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705005460; a=rsa-sha256; cv=none; b=n8YMq3OqAxPwZelbAlecYOSGIAj3RUK3MqZOm8Urt2LMJaF8wpTbjxXBmg91ZldvSSfsqd yioa4pIxfzh22QvM2cJsUeaCntKV5wWm+cLxljhHfhLExSDHNT1YjynmqpSedNC/QvLjE5 p7wsEwfrbGO5MqOkmy/71gLASbTVG6E= Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-6d9bd63ec7fso3641924b3a.2 for ; Thu, 11 Jan 2024 12:37:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1705005459; x=1705610259; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=yxBuKN/MoPpwsq3PNEySr+XuvXYo9s46uBeQBOjipgw=; b=VtiQtLcJrAkxo5xZqfBOz75/SXGZBLEUzWYAbbNkv3OwCCzrlII39xuZX676ua0ghT htycTwdht0s/5ISiQ2acTX57r93VKes4C1ccpcRQs1YyC4QSk71BbpuXLxYPUVasBq7D 2DDFeXNJc+TqlnkZCuys835HAcZDl9f74EfdYErIbepmENJTy8U5Qp4nVc18IVJ9aVET iA6cMbaPjl+ci0RygyKs8jB+E4zeUIiXV0QRlQ3s2yUW9dBR3v31XC4rKLRxKDwAaH91 /U25ArfH5cquUfJshs9e5pVUqjda1U9qkCLBG0WxWDu/KyjaNCgBoFa1uOyh4Iu98feX LCBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705005459; x=1705610259; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yxBuKN/MoPpwsq3PNEySr+XuvXYo9s46uBeQBOjipgw=; b=wHQt7BpPHREIhNgxymIdanh5tt/SSlRi4kllQjnJBzwmHuwDW2cSwd6eURLO1uAZl4 YYk3ANpbTKlQ9abWN08ZUWxNsG4XrfCPuFv4Z7ZQ1VfsouKRQP5vGoRgC2SRV2zF688s NJbZ9vXIMGBkwt4cnMjYtBl+xJdVD5ncRz2J1LWEd2y7HJiD9brzxCy/qMosl0rzFiUP gJWSYy1lOagn0RSZsaevg7ozlpAVkI7L7dlC3MKpKVnm6SDkUE2RwHu3if5dNxXqT3QG wy6jquvKmwSOdfHIx1/ZJ//eJin/85SxpONDAGD6SrJaLWP5n6a+yM9ViWDl1J104rf8 mwWQ== X-Gm-Message-State: AOJu0YzAn8aksh7ccMd0RineOhWa7N99kgRh4lcXV9jV+fDWqiHlhYvn arYLWpvQGVNT9Y4xuY10Rmn+8kPTKE0j46zmD+2XTxBlbLo= X-Google-Smtp-Source: AGHT+IHaTMgRMIUpQCkZqRjmRqx46enVbiAFd75KWOBCpI2zzlw0tYf0YRat6Gx9TkzMZ7Pmkya6vA== X-Received: by 2002:a05:6a00:2ea1:b0:6da:6c33:f269 with SMTP id fd33-20020a056a002ea100b006da6c33f269mr354614pfb.25.1705005459373; Thu, 11 Jan 2024 12:37:39 -0800 (PST) Received: from dread.disaster.area (pa49-180-249-6.pa.nsw.optusnet.com.au. [49.180.249.6]) by smtp.gmail.com with ESMTPSA id e17-20020aa78c51000000b006da105deedesm1598667pfd.197.2024.01.11.12.37.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jan 2024 12:37:39 -0800 (PST) Received: from dave by dread.disaster.area with local (Exim 4.96) (envelope-from ) id 1rO1o0-00967a-2F; Fri, 12 Jan 2024 07:37:36 +1100 Date: Fri, 12 Jan 2024 07:37:36 +1100 From: Dave Chinner To: Uladzislau Rezki Cc: linux-mm@kvack.org, Andrew Morton , LKML , Baoquan He , Lorenzo Stoakes , Christoph Hellwig , Matthew Wilcox , "Liam R . Howlett" , "Paul E . McKenney" , Joel Fernandes , Oleksiy Avramchenko Subject: Re: [PATCH v3 07/11] mm: vmalloc: Offload free_vmap_area_lock lock Message-ID: References: <20240102184633.748113-1-urezki@gmail.com> <20240102184633.748113-8-urezki@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 9830CA000A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: eb7gawhud9jo6unaf6i91urxwgai9bed X-HE-Tag: 1705005460-243538 X-HE-Meta: U2FsdGVkX1+e2CXpjjMfwXFg1c7Z2DxbtrtWMTwnZfgO3QOIEBnlEWkFNmlAi5FgoZBf/EttO0P+YjGdMhyAkLYaoY7KTZjQucp60WbLDsKTrnNfWPHQFXKttxlpmptJ3pFHn7+mZCTEQykjQri8o1oRu/+z0By8cvxSi1gw+SV7i5qqr3LewQa3RWgCiYhZ1rEHwLeybZB1Hc7V8tqVqVw2EKJmc6+kmxemgFIGX3EbEEHqK9wTBXGjO2sikcE5uMzWn/33XyP8JAEUAB+FlPnXNDWhWLTF8c6RXA3cCgrg93bDAD6V+1XVhUbfgErI3YpVXeqvjD+ywKCeVhT9rUiKrAGZuTMHdD35Uvb+X0WOgt1qq7qlFODE+aHOdjNa9wTX4WHFf9vEH0LAkc1w62jNZRzfXCaKqYEqIWg8Yih5fgrcpc170zr5S4YkvoDVwx5v45Lp2JMa03gl1FSFeVaNcABlMwQGp3bFDA6Hns+OdsvxRXsoIzgNq0UH5IMrnmtjEnAV2bkb5upOY8sI7DctXnLr1t+YuYSz0YKKHwWD2Es6SQoJQdnVZIfqfspCgMcuyg/QG4MZ9s5IkfuqJJxLbM8K+ZKh4ACtDN/c07sPpdFhfPVSnyuKmDXHQAOOCOtir9sbw2VQo6b+p9+qnAOtVBXh2Ubs2B67iXpnAJphhahqhCgvbRJ0cjrL1EtBzJO54y7mqhDKgCshEWHaxJLy5vHzmOXi08XwEKbKj0/GFomOvbAlTRCcD9oEsfI9Xr0qHhj3CmfNyF4+VVofN+EJ0PqOxJ+MGUIAMKtmDCYNvzVrak+UuGLHOZPL+C83ziCFDHRuUyHtnnDMfCZWtm0NpO4GX/Jdkpdp9FEGy+QLLQvabccOffsXpkEC0A4uTRH2i57o6zcpv/KKcHnNd7jPxH2dxSMgbQ8RJPo3HJ9r0uvUePgr5kDg2oDgqjF1JAHu0JGv27Y6ThXGP9Y 2JskD3oW N6oF0bxTgpJ2OrFO6iAfuSILcIDJTEtUhmKhlaVNfGc3ADjGcz/0D8rm1Wek1RCLvOA3/jehJVbm47qpQZQPQ8pQrMbvA1tRNX+nqITJ2qi0mdcTHTEypA886SUsQ8DpKCTuwT7IhlvO+d/CAccr8dKRHANTBGBlNlbr9EqXRgFjoUe4TLWhVpKaCVOZvAWEoz46Kjl9NO1v9vB0/x5iCvTnRJgwWu4yElXFaTWMyKzJ5SQEsjI/qWMsfW53G+S/IKGCnbRNXKOrzLoiznOPVeXe/94+j/RwIArNQAcFOiHYV8zQj9FuodB7o8QeS8JtkFSEiQvJ0Vy1p7BPrMEyH4XVS80ktotCZgn5KPgpkyWiY2JNzhnOFJm8SdmhYvOpKArCDuZ+Iw0R1NpzS738QWYRbJ7akWtYiNa/55NrInS/UjLD4PuohlJdKhs4uxdGH2AUzk5UaEPkDQ/U+oOmJD7CsxsSz49hTBbgHnwmwlCTpTAFZaS+4B0RyHchiADdHjhy2B5SZM//ozKk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000264, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Jan 11, 2024 at 04:54:48PM +0100, Uladzislau Rezki wrote: > On Thu, Jan 11, 2024 at 08:02:16PM +1100, Dave Chinner wrote: > > On Tue, Jan 02, 2024 at 07:46:29PM +0100, Uladzislau Rezki (Sony) wrote: > > > Concurrent access to a global vmap space is a bottle-neck. > > > We can simulate a high contention by running a vmalloc test > > > suite. > > > > > > To address it, introduce an effective vmap node logic. Each > > > node behaves as independent entity. When a node is accessed > > > it serves a request directly(if possible) from its pool. > > > > > > This model has a size based pool for requests, i.e. pools are > > > serialized and populated based on object size and real demand. > > > A maximum object size that pool can handle is set to 256 pages. > > > > > > This technique reduces a pressure on the global vmap lock. > > > > > > Signed-off-by: Uladzislau Rezki (Sony) > > > > Why not use a llist for this? That gets rid of the need for a > > new pool_lock altogether... > > > Initially i used the llist. I have changed it because i keep track > of objects per a pool to decay it later. I do not find these locks > as contented one therefore i did not think much. Ok. I've used llist and an atomic counter to track the list length in the past. But is the list length even necessary? It seems to me that it is only used by the shrinker to determine how many objects are on the lists for scanning, and I'm not sure that's entirely necessary given the way the current global shrinker works (i.e. completely unfair to low numbered nodes due to scan loop start bias). > Anyway, i will have a look at this to see if llist is easy to go with > or not. If so i will send out a separate patch. Sounds good, it was just something that crossed my mind given the pattern of "producer adds single items, consumer detaches entire list, processes it and reattaches remainder" is a perfect match for the llist structure. Cheers, Dave. -- Dave Chinner david@fromorbit.com