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 X-Spam-Level: X-Spam-Status: No, score=-9.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AEC63C83004 for ; Tue, 28 Apr 2020 21:00:08 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 673C820731 for ; Tue, 28 Apr 2020 21:00:08 +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="o5++9uYp" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 673C820731 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 DA8058E0016; Tue, 28 Apr 2020 16:59:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D596F8E0007; Tue, 28 Apr 2020 16:59:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B83328E0016; Tue, 28 Apr 2020 16:59:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0242.hostedemail.com [216.40.44.242]) by kanga.kvack.org (Postfix) with ESMTP id 9AB5E8E0007 for ; Tue, 28 Apr 2020 16:59:51 -0400 (EDT) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 56EEF180AD802 for ; Tue, 28 Apr 2020 20:59:51 +0000 (UTC) X-FDA: 76758480582.03.drop95_5604d86f5e133 X-HE-Tag: drop95_5604d86f5e133 X-Filterd-Recvd-Size: 4699 Received: from mail-lj1-f195.google.com (mail-lj1-f195.google.com [209.85.208.195]) by imf27.hostedemail.com (Postfix) with ESMTP for ; Tue, 28 Apr 2020 20:59:51 +0000 (UTC) Received: by mail-lj1-f195.google.com with SMTP id b2so245993ljp.4 for ; Tue, 28 Apr 2020 13:59:50 -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=bWLqr2jPDyEQcY7iSPb5llcri1orQdd6DnkilIcs6pQ=; b=o5++9uYpB0tejuE6SOx2AEJ39EGXaxcQzOa6BiVWFjcS7yoTvXbje74KUsJfyuRkbg fwJPdrquJbOLHCaxqz9Mwtl6FuSvM+KsXMnliBkFsADyVua+6KDH1fCS59qjPVtxRK0n dbipm1fl+eKq8q9CYpoaWufW0aRmtdGBT3+unSG/3WWIawdf3TxALo47FGzyiW/IPdJm nKA0oWU8najSTRkjsVD0TmMdzC33ujQapFp5uE/fLh1YLZ0yXHG+58rzxSzfgTt4eNSp 7A45DvCSkx6V0saTuCCdtrbmkF8QTbYJ3Hrf+TmzTvnWaNoe/+pbLk046gt2RE4nFrvf CVtQ== 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=bWLqr2jPDyEQcY7iSPb5llcri1orQdd6DnkilIcs6pQ=; b=rFXuE1FM1fHTcLG1X1NBBcMDetMLFxvUQWrPeDabc/M+Jm9xX22sM/6cL3hYSTdYTZ mqlQz+Rfu5zYA9L5EpUC+QnLzHEX+WdNRDFC2LIeQb64gYreZZXzXXHMzi3nWXrFj36r DpDcN9cjmbrgak8iILiGMUB+u2pHZW7Cu2cGlJ6o2VOL3me18a3a4+LwwRF8n8zQn+mo C+zIpizFJagO8L9s2Oo6Yuy1OwwRALTwPFgpjcgrYz0eSGJS203bQ5PbKYsMtxcCvrBg aTa6gfRkNRwJJ2Mn/v4XAHQlUeTVTPxkKfQIvURBIM/S4XYX2AN+nNtV/wB5YpgLj5cW 3JeA== X-Gm-Message-State: AGi0PuYpWwTw7H9moeNxS4L28pPICtQJ5sysc70J7JqbhgcuXbfbkfz4 xK4ZeLwkHCoXiKjblgoGtvY= X-Google-Smtp-Source: APiQypK9EZpQhwaV5M+lBBDIJenVe52+/F2F7dseEsf9lWqnTDKV8zoEcohaXMvNV1qR0laI6NaBXg== X-Received: by 2002:a2e:9018:: with SMTP id h24mr18683499ljg.217.1588107589805; Tue, 28 Apr 2020 13:59:49 -0700 (PDT) Received: from pc638.lan (h5ef52e31.seluork.dyn.perspektivbredband.net. [94.245.46.49]) by smtp.gmail.com with ESMTPSA id z21sm295483ljh.42.2020.04.28.13.59.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2020 13:59:49 -0700 (PDT) From: "Uladzislau Rezki (Sony)" To: LKML , linux-mm@kvack.org Cc: Andrew Morton , "Paul E . McKenney" , "Theodore Y . Ts'o" , Matthew Wilcox , Joel Fernandes , RCU , Uladzislau Rezki , Oleksiy Avramchenko Subject: [PATCH 17/24] rcu: Introduce 2 arg kvfree_rcu() interface Date: Tue, 28 Apr 2020 22:58:56 +0200 Message-Id: <20200428205903.61704-18-urezki@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200428205903.61704-1-urezki@gmail.com> References: <20200428205903.61704-1-urezki@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: kvfree_rcu() can deal with an allocated memory that is obtained via kvmalloc(). It can return two types of allocated memory or "pointers", one can belong to regular SLAB allocator and another one can be vmalloc one. It depends on requested size and memory pressure. struct test_kvfree_rcu { struct rcu_head rcu; unsigned char array[100]; }; struct test_kvfree_rcu *p; p =3D kvmalloc(10 * PAGE_SIZE); if (p) kvfree_rcu(p, rcu); Signed-off-by: Uladzislau Rezki (Sony) Reviewed-by: Joel Fernandes (Google) Signed-off-by: Joel Fernandes (Google) --- include/linux/rcupdate.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index b344fc800a9b..51b26ab02878 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -875,6 +875,15 @@ do { \ __kvfree_rcu(&((___p)->rhf), offsetof(typeof(*(ptr)), rhf)); \ } while (0) =20 +/** + * kvfree_rcu() - kvfree an object after a grace period. + * @ptr: pointer to kvfree + * @rhf: the name of the struct rcu_head within the type of @ptr. + * + * Same as kfree_rcu(), just simple alias. + */ +#define kvfree_rcu(ptr, rhf) kfree_rcu(ptr, rhf) + /* * Place this after a lock-acquisition primitive to guarantee that * an UNLOCK+LOCK pair acts as a full barrier. This guarantee applies --=20 2.20.1