From patchwork Mon Apr 27 11:11:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uladzislau Rezki X-Patchwork-Id: 11511865 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 64D2B912 for ; Mon, 27 Apr 2020 11:11:39 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 2F8B92063A for ; Mon, 27 Apr 2020 11:11:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eWJeL57x" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2F8B92063A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 78D218E0005; Mon, 27 Apr 2020 07:11:38 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 7172F8E0001; Mon, 27 Apr 2020 07:11:38 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5DF188E0005; Mon, 27 Apr 2020 07:11:38 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0059.hostedemail.com [216.40.44.59]) by kanga.kvack.org (Postfix) with ESMTP id 419C38E0001 for ; Mon, 27 Apr 2020 07:11:38 -0400 (EDT) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 03116180AD804 for ; Mon, 27 Apr 2020 11:11:38 +0000 (UTC) X-FDA: 76753369476.28.glass66_829e895239b1c X-Spam-Summary: 2,0,0,01b49194acfb5b2c,d41d8cd98f00b204,urezki@gmail.com,,RULES_HIT:41:355:379:541:800:960:965:966:968:973:988:989:1260:1311:1314:1345:1359:1431:1437:1515:1534:1541:1711:1730:1747:1777:1792:2196:2199:2393:2559:2562:3138:3139:3140:3141:3142:3352:3865:3867:3868:3870:3871:3872:3874:4250:4385:4390:4395:5007:6261:6653:7514:9413:10004:11026:11658:11914:12043:12296:12297:12438:12517:12519:12555:12895:13069:13311:13357:13846:13894:13972:14096:14181:14384:14394:14687:14721:21080:21444:21451:21627:21666:21990:30054,0,RBL:209.85.167.65:@gmail.com:.lbl8.mailshell.net-62.18.0.100 66.100.201.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:24,LUA_SUMMARY:none X-HE-Tag: glass66_829e895239b1c X-Filterd-Recvd-Size: 4622 Received: from mail-lf1-f65.google.com (mail-lf1-f65.google.com [209.85.167.65]) by imf03.hostedemail.com (Postfix) with ESMTP for ; Mon, 27 Apr 2020 11:11:37 +0000 (UTC) Received: by mail-lf1-f65.google.com with SMTP id f8so13462083lfe.12 for ; Mon, 27 Apr 2020 04:11:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Asw9tqE4/cLTmlTUoE8ln3vIOlzdWNXgzJMQ+xZMncE=; b=eWJeL57xKjIdcl9oZXC1vkTlvvg9YfjDLhcu1Cd0uqlFCE1NorBR7hzN77e0N5d8Yk YjP1fx9C7hcCgx8/38G4XxzBWuLwHjVpCwK80WmYP6y/r9KjomfL6WRSzzEqbycBmCjK um7BTp5HYod5r5vom1tOJZKOwMpeGvCJi8+FpUjMdY3JDZjK68pYA2p/76iHPKFdrorh E6Yj7l0K1/Ho3X2TAHjIQo5CIRrBIuDwSufLkfLMF6n/NK9ueU6PHNMouAoDlf1BLZtA K2l9E12XdRY49nm7q2QxffzFxMdmnHfoIdkloQqPrS1kAIZRM9e3K45i8mXIw1qWIPgH tfBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Asw9tqE4/cLTmlTUoE8ln3vIOlzdWNXgzJMQ+xZMncE=; b=kln+zt9Z8uevgoH9al3KMVmdFHOLUfGCv3J27zJl3jC03kSZKLXet/wCfVAU+hEO49 NedP1Cin7ljD4nH7B1jLY25aO0go/z3Zo3vcGTwVtZrz0EppIUzHpoxi1UM2PHfl3ETL I0eTWW3UWbRlUUsyZYWeoZTppzgVJol/1zYSCR4pTjijF9xtmv/GXoVaC3nvDPOVi77U 9UyB0XPLoo2LccRv8Ba8Z0KQ8fGT4dHQRnjfiIx7Bx01befbeRYRIlNGnq3NCo57j4gY /CrAl5IekJzf20rFXEHuwpb9tzXVCGETGfr2ii5iYZkZab+SM7bTSawlFbjC0v/PDF+t SlxQ== X-Gm-Message-State: AGi0PuYFKOO/ijVybKnb6Q72lVlBg3qzhX3PJKF5+NIgSr7NY2MtTrLv tF9rgeOdLWjM4mEThJ6N0Qs= X-Google-Smtp-Source: APiQypLw8DW9AwQv3dkvfZ5hQ/5oRokvuW9JiFJXNwoehEERY+TOUoOzKfXkYpintyuLzTJpr4I3Ag== X-Received: by 2002:ac2:4546:: with SMTP id j6mr15479058lfm.203.1587985895897; Mon, 27 Apr 2020 04:11:35 -0700 (PDT) Received: from pc638.lan (h5ef52e31.seluork.dyn.perspektivbredband.net. [94.245.46.49]) by smtp.gmail.com with ESMTPSA id l18sm9853867lje.19.2020.04.27.04.11.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2020 04:11:35 -0700 (PDT) From: "Uladzislau Rezki (Sony)" To: Joel Fernandes Cc: "Uladzislau Rezki (Sony)" , linux-mm@kvack.org, Andrew Morton , rcu@vger.kernel.org Subject: [PATCH 15/24] mm/list_lru.c: Rename kvfree_rcu() to local variant Date: Mon, 27 Apr 2020 13:11:04 +0200 Message-Id: <20200427111113.5956-15-urezki@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200427111113.5956-1-urezki@gmail.com> References: <20200427111113.5956-1-urezki@gmail.com> MIME-Version: 1.0 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: Rename kvfree_rcu() function to the kvfree_rcu_local() one. The aim is to introduce the public API that would conflict with this one. So we temporarily rename it and remove it in a later commit. Cc: linux-mm@kvack.org Cc: Andrew Morton Cc: rcu@vger.kernel.org Signed-off-by: Uladzislau Rezki (Sony) Reviewed-by: Joel Fernandes (Google) Signed-off-by: Joel Fernandes (Google) --- mm/list_lru.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/list_lru.c b/mm/list_lru.c index 4d5294c39bba..42c95bcb53ca 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -373,14 +373,14 @@ static void memcg_destroy_list_lru_node(struct list_lru_node *nlru) struct list_lru_memcg *memcg_lrus; /* * This is called when shrinker has already been unregistered, - * and nobody can use it. So, there is no need to use kvfree_rcu(). + * and nobody can use it. So, there is no need to use kvfree_rcu_local(). */ memcg_lrus = rcu_dereference_protected(nlru->memcg_lrus, true); __memcg_destroy_list_lru_node(memcg_lrus, 0, memcg_nr_cache_ids); kvfree(memcg_lrus); } -static void kvfree_rcu(struct rcu_head *head) +static void kvfree_rcu_local(struct rcu_head *head) { struct list_lru_memcg *mlru; @@ -419,7 +419,7 @@ static int memcg_update_list_lru_node(struct list_lru_node *nlru, rcu_assign_pointer(nlru->memcg_lrus, new); spin_unlock_irq(&nlru->lock); - call_rcu(&old->rcu, kvfree_rcu); + call_rcu(&old->rcu, kvfree_rcu_local); return 0; } From patchwork Mon Apr 27 11:11:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uladzislau Rezki X-Patchwork-Id: 11511867 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1EA721392 for ; Mon, 27 Apr 2020 11:11:42 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E0400206B6 for ; Mon, 27 Apr 2020 11:11:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OXEYwn2Z" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E0400206B6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id F30348E0006; Mon, 27 Apr 2020 07:11:40 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id E93338E0001; Mon, 27 Apr 2020 07:11:40 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5D648E0006; Mon, 27 Apr 2020 07:11:40 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0192.hostedemail.com [216.40.44.192]) by kanga.kvack.org (Postfix) with ESMTP id B94678E0001 for ; Mon, 27 Apr 2020 07:11:40 -0400 (EDT) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 729F2180AD804 for ; Mon, 27 Apr 2020 11:11:40 +0000 (UTC) X-FDA: 76753369560.11.verse49_82fe13b64053e X-Spam-Summary: 2,0,0,c01417b6bd80a99e,d41d8cd98f00b204,urezki@gmail.com,,RULES_HIT:41:69:355:379:541:800:960:965:966:968:973:988:989:1260:1311:1314:1345:1359:1431:1437:1515:1535:1542:1711:1730:1747:1777:1792:2196:2199:2393:2559:2562:3138:3139:3140:3141:3142:3353:3865:3867:3868:3870:3871:3872:3874:4321:4385:4390:4395:4419:4605:5007:6261:6653:7514:7903:9413:9592:10004:11026:11473:11658:11914:12043:12296:12297:12438:12517:12519:12555:12895:13846:13894:13972:14096:14181:14394:14687:14721:21080:21444:21451:21627:21666:21990:30054,0,RBL:209.85.167.68:@gmail.com:.lbl8.mailshell.net-62.18.0.100 66.100.201.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:23,LUA_SUMMARY:none X-HE-Tag: verse49_82fe13b64053e X-Filterd-Recvd-Size: 5020 Received: from mail-lf1-f68.google.com (mail-lf1-f68.google.com [209.85.167.68]) by imf29.hostedemail.com (Postfix) with ESMTP for ; Mon, 27 Apr 2020 11:11:40 +0000 (UTC) Received: by mail-lf1-f68.google.com with SMTP id g10so13384682lfj.13 for ; Mon, 27 Apr 2020 04:11:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5ldgJ4636CVVH5K09ieY2CjYskH7FkK4YIkv15ewvcg=; b=OXEYwn2ZMuWXXCHmC9HNP3jNT4y5HIqH+Ikzlkys80/gyZ+2dAxoD6qAmgR6BjSxNk 3IjoRoFzjzkEdS/jd77MHalB3P1bK7Z0Z5wRoDj82dBD13UvtximgEa+e6Q0kdAUncpR IrJPs6TYJdsu/aRrd23dReAvNds9+/lFz9CX4MrNvmlP7Iy0xzBHTFfzLnM1NUmWRZzv 3KplJV8ZHmAqYAZXQ/gD2O/2soogtdnGhnDPBNWEa1lWNaZ2e7tHHjNQ1JWGLMZDba8x exCKp0ebus2G20rMEQNvj+CgqUjFp8cCsE3n2Q59ADhf1w1eOPIAYY4pv2gZNKbC7wOO 5D7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5ldgJ4636CVVH5K09ieY2CjYskH7FkK4YIkv15ewvcg=; b=aZhK82GLppC7Y1r8J0u8N85IieSrpBer6JrqofWZJn4kHuSnxNxkRJ705k8g4DbkBk GsfBPhBR9Cl3y/DwdBtOcbkU+Y2l1P8OHsWTzR05e9pD+h8hTU5/Hyhjkxmtzy/Ou5xi VxbogzabtRvZ+Xt9tDPqj2DHKyCjE+aXtvvF1xGsYJ3JfTGlttYbjSLJgxfgQVJwHNWh hJj/6XmsGO6Fm+BjHdOhuRf7garr30vvSFO1zfi7/RS0NW/JgeCKdhfEAfR7MfHXFl9Q hMd9mTfNri/AYZy1+TKubrj/ulFUxh7xaaTQFq81mouxROq2SnRi/kIqbKQmx9srVNQz hkiQ== X-Gm-Message-State: AGi0Pua+wO249ia0S1WYd8cGpf0n5ahpFR9VeAUX/2eTR6y4+7tQ7wND q/Drd8z0+qHfgUq6cUx9o7A= X-Google-Smtp-Source: APiQypIwWu1Txq59pLktC8m8z8//IexkdKjlp79unijhEdHYYu4QYyxMjlqT9kfBeuSUEA/iLjVZjg== X-Received: by 2002:ac2:5e65:: with SMTP id a5mr14989449lfr.189.1587985898826; Mon, 27 Apr 2020 04:11:38 -0700 (PDT) Received: from pc638.lan (h5ef52e31.seluork.dyn.perspektivbredband.net. [94.245.46.49]) by smtp.gmail.com with ESMTPSA id l18sm9853867lje.19.2020.04.27.04.11.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2020 04:11:38 -0700 (PDT) From: "Uladzislau Rezki (Sony)" To: Joel Fernandes Cc: "Uladzislau Rezki (Sony)" , linux-mm@kvack.org, Andrew Morton , rcu@vger.kernel.org Subject: [PATCH 18/24] mm/list_lru.c: Remove kvfree_rcu_local() function Date: Mon, 27 Apr 2020 13:11:07 +0200 Message-Id: <20200427111113.5956-18-urezki@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200427111113.5956-1-urezki@gmail.com> References: <20200427111113.5956-1-urezki@gmail.com> MIME-Version: 1.0 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: Since there is newly introduced kvfree_rcu() API, there is no need in queuing and using call_rcu() to kvfree() an object after the GP. Remove kvfree_rcu_local() function and replace call_rcu() by new kvfree_rcu() API that does the same but in more efficient way. Cc: linux-mm@kvack.org Cc: Andrew Morton Cc: rcu@vger.kernel.org Signed-off-by: Uladzislau Rezki (Sony) Reviewed-by: Joel Fernandes (Google) Signed-off-by: Joel Fernandes (Google) --- mm/list_lru.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/mm/list_lru.c b/mm/list_lru.c index 42c95bcb53ca..a0b08b27a9b9 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -12,6 +12,7 @@ #include #include #include +#include #include "slab.h" #ifdef CONFIG_MEMCG_KMEM @@ -373,21 +374,13 @@ static void memcg_destroy_list_lru_node(struct list_lru_node *nlru) struct list_lru_memcg *memcg_lrus; /* * This is called when shrinker has already been unregistered, - * and nobody can use it. So, there is no need to use kvfree_rcu_local(). + * and nobody can use it. So, there is no need to use kvfree_rcu(). */ memcg_lrus = rcu_dereference_protected(nlru->memcg_lrus, true); __memcg_destroy_list_lru_node(memcg_lrus, 0, memcg_nr_cache_ids); kvfree(memcg_lrus); } -static void kvfree_rcu_local(struct rcu_head *head) -{ - struct list_lru_memcg *mlru; - - mlru = container_of(head, struct list_lru_memcg, rcu); - kvfree(mlru); -} - static int memcg_update_list_lru_node(struct list_lru_node *nlru, int old_size, int new_size) { @@ -419,7 +412,7 @@ static int memcg_update_list_lru_node(struct list_lru_node *nlru, rcu_assign_pointer(nlru->memcg_lrus, new); spin_unlock_irq(&nlru->lock); - call_rcu(&old->rcu, kvfree_rcu_local); + kvfree_rcu(old, rcu); return 0; }