[lkml]   [2019]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH RFC tip/core/rcu 0/4] Forbid static SRCU use in modules

This series prohibits use of DEFINE_SRCU() and DEFINE_STATIC_SRCU()
by loadable modules. The reason for this prohibition is the fact
that using these two macros within modules requires that the size of
the reserved region be increased, which is not something we want to
be doing all that often. Instead, loadable modules should define an
srcu_struct and invoke init_srcu_struct() from their module_init function
and cleanup_srcu_struct() from their module_exit function. Note that
modules using call_srcu() will also need to invoke srcu_barrier() from
their module_exit function.

This series consist of the following:

1. Dynamically allocate dax_srcu.

2. Dynamically allocate drm_unplug_srcu.

3. Dynamically allocate kfd_processes_srcu.

These build and have been subjected to 0day testing, but might also need
testing by someone having the requisite hardware.

Thanx, Paul


drivers/dax/super.c | 10 +++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 5 +++
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 2 -
drivers/gpu/drm/drm_drv.c | 8 ++++
include/linux/srcutree.h | 19 +++++++++--
kernel/rcu/rcuperf.c | 40 +++++++++++++++++++-----
kernel/rcu/rcutorture.c | 48 +++++++++++++++++++++--------
7 files changed, 105 insertions(+), 27 deletions(-)

 \ /
  Last update: 2019-04-02 16:28    [W:0.190 / U:11.560 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site