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 70755D63933 for ; Wed, 20 Nov 2024 12:37:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D24096B0096; Wed, 20 Nov 2024 07:37:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CABF56B0098; Wed, 20 Nov 2024 07:37:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFE336B009B; Wed, 20 Nov 2024 07:37:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8F6B46B0096 for ; Wed, 20 Nov 2024 07:37:40 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E8F27A0BE9 for ; Wed, 20 Nov 2024 12:37:39 +0000 (UTC) X-FDA: 82806423462.05.2961693 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf01.hostedemail.com (Postfix) with ESMTP id 1031C40007 for ; Wed, 20 Nov 2024 12:36:57 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jhlRDg6V; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732106073; 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=Q0OQRfg1x8SRZX/1jAroPcUFCgz+iCdQigYI/A0qZro=; b=Ta14jkuLVoGp+5M7kxoq/JXk8AyPTA31jX59uHsO7EXfER9kwTGRXRMc7GjWVDhISWKB9A P1HQs1VlSOVBm7J5te3FIQxcFWrKePUyDI18RBK1NXheuFf2wylU3oa0f8UvfdAXv6pAy6 DSptMGmqhPgC2XIxGEtvXnR2wasbg6k= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jhlRDg6V; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732106073; a=rsa-sha256; cv=none; b=MNmDXKU8fm9xESrbIH5Cxvf5JT7tU210/E5/tFp+xLgmfBzrZPJSIHwxtd9xLk3gihnLxV qMGPiQ0eF/78JENhagUrTpwnK2sWtwMEshM1fI4CK9kBnS+o+qGDJUevGAQCI7UMi5ejkP 1aPXMuD0RHsKWEbrubea8oENfRsumAk= Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2fb3da341c9so39475991fa.2 for ; Wed, 20 Nov 2024 04:37:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732106256; x=1732711056; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=Q0OQRfg1x8SRZX/1jAroPcUFCgz+iCdQigYI/A0qZro=; b=jhlRDg6VBtuPWBfjxNUJQtvMccC4Ov1sSfCZq57YPfSnP/tXMKc1yhJEt4X7LO4JY/ xmZqK1Ky7oaTXqOLkGGAntvoR73ZHAb4cJCB7E0NSu2gB8pKu/Y95tMdjIsXCfxVIJML 94aOZ9NjynqOUtLx8xkHZ7WmFH+PUgZB/Sn1ySdINYatvIwZuEN8FymcePH5F8+Wunir 2OEn1wH6coeHU6MUJb9eHtN4BBRQwzD+SpG8kukG8wlY92o36bT0O13tUFGPZXZxSSJ6 9TZ8+9h3/phw4I6uQQ4sWV1pH6tbTqCZ0+UIGgEGJHf82RhJQTrqNVlG6pA/0zbkLi8g lCvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732106256; x=1732711056; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Q0OQRfg1x8SRZX/1jAroPcUFCgz+iCdQigYI/A0qZro=; b=Iol9Ciq95VG4tyCgLo0Ozqs+PvFkWbvgDjOOu+QMzSRCbrqBamDp7qtDlZYKSFkleQ CLtWiiYRFQHWl2qselWYBsozE/Wyawqy8NDsEECNdI2iBJE0ukMaQc/aPMF10bS8+zbF gMvnQ8axMRFOUvsJGNu37AIuWrPJUz5m4X5wGyrqMAYKmaI8GLj2OXftdxBjCOJrqgW+ fYyaPMphKollD1yQzZDnT/6lAWWODc97jfwQMhe2IJ41My/5lsXUvpF3QpJBgF/Sm9ea GpXeDpkHsDA2BaRMxRiP3yNoqCs1PKP2IMcqe+1nDz2bLu/dRlLZY1++B3EBtNqJ/uQ0 sQ9A== X-Forwarded-Encrypted: i=1; AJvYcCXhJVRwGWGSxiComzkJJywFTi+mzEE30OAXV2YTFRiWVrbY8VF8S4eJ9BqChiVVdz5wzPH2JMzjYQ==@kvack.org X-Gm-Message-State: AOJu0Yz8YJM1HUhOJ8M3wuTouRdVa9K0KhDtcvgMdglM8kKhVo2PeAjF 2j9BExsbO3Qmik7nHlGxZFqKQZlvxlmzvTcmfkQWavH9kCJtUXWB X-Google-Smtp-Source: AGHT+IGi2eyxJ/gZkhAlHUIa5j3A5ZbuPIrKPcSGhNJMGHq34OncnDqR74dznOsVAJDkagm6V1CM6g== X-Received: by 2002:a05:651c:515:b0:2ff:5c17:d572 with SMTP id 38308e7fff4ca-2ff8dc8a711mr15098011fa.22.1732106255718; Wed, 20 Nov 2024 04:37:35 -0800 (PST) Received: from pc636 (host-95-203-8-230.mobileonline.telia.com. [95.203.8.230]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2ff69959c68sm15070981fa.44.2024.11.20.04.37.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Nov 2024 04:37:34 -0800 (PST) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Wed, 20 Nov 2024 13:37:32 +0100 To: Vlastimil Babka Cc: Uladzislau Rezki , Suren Baghdasaryan , "Liam R. Howlett" , Christoph Lameter , David Rientjes , Pekka Enberg , Joonsoo Kim , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Paul E. McKenney" , Lorenzo Stoakes , Matthew Wilcox , Boqun Feng , linux-mm@kvack.org, linux-kernel@vger.kernel.org, rcu@vger.kernel.org, maple-tree@lists.infradead.org Subject: Re: [PATCH RFC 2/6] mm/slub: add sheaf support for batching kfree_rcu() operations Message-ID: References: <20241112-slub-percpu-caches-v1-0-ddc0bdc27e05@suse.cz> <20241112-slub-percpu-caches-v1-2-ddc0bdc27e05@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 1031C40007 X-Stat-Signature: mmfnme3ipz653mdzabeb1o9hdzqndwng X-Rspam-User: X-HE-Tag: 1732106217-531023 X-HE-Meta: U2FsdGVkX19kOeFTRasIklpIRoxQPPPLdZsqlrEKJwbXAmKG9Rb3RKNofMJcXwSof01ARuJ4HnTj9eYRbZDkq5akkEVW8PkYQX61X/XXs3EOdNAvz/RjCCnTdowwQCmeOEa4frwSMRqpFGX0//fM6ojseDBrnI+qSBYelh8MAxfwQ60dNhd1oQNcYm3Qjpz+KDIT99b6swHdfbfdyCZjszOU0kkGR1XzMQuTRhWohZNvcbB83uTb5hBdnYlgpUTKOnTu8O/Ff+BOQZBJocYbYH2j43o2JDppVRnbaF9nemyPX1rFKyqQOopq3yTClDJbfjMlr0zs78jGLtWPSed2KVjMTUpK7uARVrEUrRBd4ZLcjCOETWB+nDjnjQ5RsyXI+N3YwhaXhXmK++4MUEN5iguTu3zSZC2JBPQaZ41aKRVQiwW3gi6HcYLZanx68o8kjPLKeRUZU2wxH5g1LHI+z+vyEmJpjOC1FsqSbKDV5xm8JaIRJbjWSAwWFwem2imzyvHp6xRd4AedcKPxrBv9Rj5x+XriD+6pKE3/wl4GnSj8QZ+vZ6YcVP47dQ0tDVogTgQlY23bAE6JFRUprfVtyOyPLIzREjU2bzclgzPxD9GzEbCSWOTFSYKeH7ex/S9tG0gM4rekzl8byzN55uE2cb5QY1iEV4TskR9juKrEmF7++klbACH16aTwS8aMQfDrL1tK9mBWt8ZDuEBqSJabY/BkEi+XEiXlybt0mJBlExIL3u88Nbib0aF0Ub7+FYNkOtbcytMxGTE6wzzNAa0N6z46PGzoOXcip923CTxCDmbGv69uKuEgptsktGFjZr1d4McUzrRS1pjB5C+7J4I9eKcpwf2RqTbO/Ng3Ogz7PGqmjvgIrJY3CIiWiC1D4G0FMWGSj5Z450E8xc3JYITIneZAMUyR7/DlDXpVL+U4mv5Qu6kiWqRt5JIz3XpUYlSqsSDmCCNAZSS8Gw02c4m aN8hi6bj JurfyeioxGylYRnXQF9OWDWjQEaiJIOpau4l54JQS6HLwXiur9YvncNCOZ+W4SCGSflSBFdqB8QvESl4U+Zv/BkxOuw0i/gKXtnaP8CVn7wGkQDjzV71VP2BCeec0lTsvV/My0uez74rszt3UzLRSUbnUEq2frnb5DFNWW8WcvFN+mRPyvyzkEVDrG9my5GA3jkNOHIpeFUvaUeBlXyLhf/NSr2akxH24i5Vc/Cce6if7GW/36se4UtmkEUzWiMxBbAYy477gC3dU5TlfpWwnTK5N8W4DigI15p2q51/Il7eEBKNIV9h1FKhlOhe97ZLUgqIXm8djizcxFYyPfhLpYjC9uJDbCu3DYO0JhRlOGAUV5DRCsAPtYalL2Xy7A1oh6gJoxC+OdA98OGHVK7meuivNWogVciz6buX0RpnliELSccCR0KUy5uUdvykyENwlx9lBYhbamHWwbHKnomR+JE9TINIbItyIVm9i9uaARDTDewJ5uI14MDCdgW4gNE18YnPqZ4P+uwQf7SM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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 Sun, Nov 17, 2024 at 12:01:01PM +0100, Vlastimil Babka wrote: > On 11/14/24 17:57, Uladzislau Rezki wrote: > > On Tue, Nov 12, 2024 at 05:38:46PM +0100, Vlastimil Babka wrote: > >> --- a/kernel/rcu/tree.c > >> +++ b/kernel/rcu/tree.c > >> @@ -65,6 +65,7 @@ > >> #include > >> #include > >> #include "../time/tick-internal.h" > >> +#include "../../mm/slab.h" > >> > >> #include "tree.h" > >> #include "rcu.h" > >> @@ -3420,7 +3421,7 @@ kvfree_rcu_list(struct rcu_head *head) > >> trace_rcu_invoke_kvfree_callback(rcu_state.name, head, offset); > >> > >> if (!WARN_ON_ONCE(!__is_kvfree_rcu_offset(offset))) > >> - kvfree(ptr); > >> + __kvfree_rcu(ptr); > >> > >> rcu_lock_release(&rcu_callback_map); > >> cond_resched_tasks_rcu_qs(); > >> @@ -3797,6 +3798,9 @@ void kvfree_call_rcu(struct rcu_head *head, void *ptr) > >> if (!head) > >> might_sleep(); > >> > >> + if (kfree_rcu_sheaf(ptr)) > >> + return; > >> + > >> > > This change crosses all effort which has been done in order to improve kvfree_rcu :) > > Yeah I know, but it wasn't intended to make it all obsolete as I don't think > every kfree_rcu() user would have a sheaf-enabled cache. > > > For example: > > performance, app launch improvements for Android devices; > > memory consumption optimizations to minimize LMK triggering; > > batching to speed-up offloading; > > etc. > > Yes it's a great effort that I appreciate and you did probably all that was > possible to do without changing the slab allocator itself. > > > So we have done a lot of work there. We were thinking about moving all > > functionality from "kernel/rcu" to "mm/". As a first step i can do that, > > i.e. move kvfree_rcu() as is. After that we can switch to second step. > > Yeah we have discussed that with Paul at LSF/MM as well and I agreed it > makes sense, but didn't get to it yet. > > > Sounds good for you or not? > > Sounds good, thanks! > Thank you. Let me try to start moving it into mm/. I am thinking to place it to the slab_common.c file. I am not sure if it makes sense to have a dedicated file name for this purpose. Anyway, share your view if you want to add something. Otherwise i can proceed with that process. -- Uladzislau Rezki