Hello! 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(-) _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx