[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211124110308.2053-1-urezki@gmail.com>
Date: Wed, 24 Nov 2021 12:02:59 +0100
From: "Uladzislau Rezki (Sony)" <urezki@...il.com>
To: LKML <linux-kernel@...r.kernel.org>, RCU <rcu@...r.kernel.org>,
"Paul E . McKenney" <paulmck@...nel.org>
Cc: Michal Hocko <mhocko@...e.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Daniel Axtens <dja@...ens.net>,
Frederic Weisbecker <frederic@...nel.org>,
Neeraj Upadhyay <neeraju@...eaurora.org>,
Joel Fernandes <joel@...lfernandes.org>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Theodore Y . Ts'o" <tytso@....edu>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Uladzislau Rezki <urezki@...il.com>,
Oleksiy Avramchenko <oleksiy.avramchenko@...ymobile.com>
Subject: [PATCH 0/9] Switch to single argument kvfree_rcu() API
Hi!
This is an attempt to replace places in the Linux kernel for using
single argument of kvfree_rcu() API. In short, a single argument
API allows something like below:
<snip>
void *ptr = kvmalloc(some_bytes, GFP_KERNEL);
if (ptr)
kvfree_rcu(ptr);
<snip>
i.e. to free a pointer after a grace period of object that does not
have any rcu_head field inside its structure. Due to lacking of such
mechanism users just do:
<snip>
synchronize_rcu();
kfree(p);
<snip>
if they do not want to have an rcu_head element in their data. Thus
this series replaces mentioned places to go with the single argument API.
It is based on the 5.16.0-rc2 also it can be applied on Paul's latest RCU
"dev" branch.
Thanks!
Uladzislau Rezki (2):
ext4: Switch to kvfree_rcu() API
fs: nfs: sysfs: Switch to kvfree_rcu() API
Uladzislau Rezki (Sony) (7):
ext4: Replace ext4_kvfree_array_rcu() by kvfree_rcu() API
drivers: Switch to kvfree_rcu() API
x86/mm: Switch to kvfree_rcu() API
net/tipc: Switch to kvfree_rcu() API
net/core: Switch to kvfree_rcu() API
module: Switch to kvfree_rcu() API
tracing: Switch to kvfree_rcu() API
arch/x86/mm/mmio-mod.c | 6 ++--
drivers/block/drbd/drbd_nl.c | 9 ++----
drivers/block/drbd/drbd_receiver.c | 6 ++--
drivers/block/drbd/drbd_state.c | 3 +-
drivers/block/rnbd/rnbd-srv.c | 3 +-
drivers/crypto/nx/nx-common-pseries.c | 3 +-
drivers/infiniband/hw/hfi1/sdma.c | 3 +-
drivers/ipack/carriers/tpci200.c | 3 +-
drivers/mfd/dln2.c | 6 ++--
drivers/misc/vmw_vmci/vmci_context.c | 6 ++--
drivers/misc/vmw_vmci/vmci_event.c | 3 +-
.../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 3 +-
.../net/ethernet/mellanox/mlx5/core/en/qos.c | 3 +-
.../ethernet/mellanox/mlx5/core/fpga/tls.c | 3 +-
drivers/net/ethernet/mellanox/mlxsw/core.c | 3 +-
drivers/scsi/device_handler/scsi_dh_alua.c | 3 +-
drivers/scsi/device_handler/scsi_dh_rdac.c | 3 +-
drivers/staging/fwserial/fwserial.c | 3 +-
fs/ext4/ext4.h | 1 -
fs/ext4/mballoc.c | 2 +-
fs/ext4/resize.c | 31 ++-----------------
fs/ext4/super.c | 5 ++-
fs/nfs/sysfs.c | 7 ++---
kernel/module.c | 3 +-
kernel/trace/trace_osnoise.c | 3 +-
kernel/trace/trace_probe.c | 3 +-
net/core/sysctl_net_core.c | 3 +-
net/tipc/crypto.c | 3 +-
28 files changed, 37 insertions(+), 96 deletions(-)
--
2.30.2
Powered by blists - more mailing lists