WARNING: please write a help paragraph that fully describes the config symbol #40: FILE: net/Kconfig.debug:21: +config PAGE_POOL_DEBUG + bool "Enable page pool debugging" + depends on PAGE_POOL + default n + help + Enable debugging feature in page pool to catch concurrent + access for pool->alloc cache. + WARNING: line length of 89 exceeds 80 columns #60: FILE: net/core/page_pool.c:35: +#define __page_pool_debug_alloc_lock(pool, allow_direct, warn_on_destry) \ CHECK: Macro argument 'warn_on_destry' may be better as '(warn_on_destry)' to avoid precedence issues #60: FILE: net/core/page_pool.c:35: +#define __page_pool_debug_alloc_lock(pool, allow_direct, warn_on_destry) \ + do { \ + if (allow_direct) { \ + WARN_ON_ONCE(spin_is_locked(&(pool)->ring.consumer_lock)); \ + spin_lock(&(pool)->ring.consumer_lock); \ + WARN_ON_ONCE(warn_on_destry && (pool)->destroy_cnt); \ + } \ + } while (0) WARNING: line length of 89 exceeds 80 columns #61: FILE: net/core/page_pool.c:36: + do { \ WARNING: line length of 89 exceeds 80 columns #62: FILE: net/core/page_pool.c:37: + if (allow_direct) { \ WARNING: line length of 89 exceeds 80 columns #63: FILE: net/core/page_pool.c:38: + WARN_ON_ONCE(spin_is_locked(&(pool)->ring.consumer_lock)); \ WARNING: Where possible, use lockdep_assert_held instead of assertions based on spin_is_locked #63: FILE: net/core/page_pool.c:38: + WARN_ON_ONCE(spin_is_locked(&(pool)->ring.consumer_lock)); \ WARNING: line length of 89 exceeds 80 columns #64: FILE: net/core/page_pool.c:39: + spin_lock(&(pool)->ring.consumer_lock); \ WARNING: line length of 89 exceeds 80 columns #65: FILE: net/core/page_pool.c:40: + WARN_ON_ONCE(warn_on_destry && (pool)->destroy_cnt); \ WARNING: line length of 89 exceeds 80 columns #66: FILE: net/core/page_pool.c:41: + } \ WARNING: line length of 89 exceeds 80 columns #69: FILE: net/core/page_pool.c:44: +#define __page_pool_debug_alloc_unlock(pool, allow_direct, warn_on_destry) \ CHECK: Macro argument 'warn_on_destry' may be better as '(warn_on_destry)' to avoid precedence issues #69: FILE: net/core/page_pool.c:44: +#define __page_pool_debug_alloc_unlock(pool, allow_direct, warn_on_destry) \ + do { \ + if (allow_direct) { \ + WARN_ON_ONCE(warn_on_destry && (pool)->destroy_cnt); \ + spin_unlock(&(pool)->ring.consumer_lock); \ + } \ + } while (0) WARNING: line length of 89 exceeds 80 columns #70: FILE: net/core/page_pool.c:45: + do { \ WARNING: line length of 89 exceeds 80 columns #71: FILE: net/core/page_pool.c:46: + if (allow_direct) { \ WARNING: line length of 89 exceeds 80 columns #72: FILE: net/core/page_pool.c:47: + WARN_ON_ONCE(warn_on_destry && (pool)->destroy_cnt); \ WARNING: line length of 89 exceeds 80 columns #73: FILE: net/core/page_pool.c:48: + spin_unlock(&(pool)->ring.consumer_lock); \ WARNING: line length of 89 exceeds 80 columns #74: FILE: net/core/page_pool.c:49: + } \ WARNING: line length of 89 exceeds 80 columns #77: FILE: net/core/page_pool.c:52: +#define page_pool_debug_alloc_lock(pool, allow_direct) \ WARNING: line length of 89 exceeds 80 columns #80: FILE: net/core/page_pool.c:55: +#define page_pool_debug_alloc_unlock(pool, allow_direct) \ WARNING: Argument 'pool' is not used in function-like macro #83: FILE: net/core/page_pool.c:58: +#define __page_pool_debug_alloc_lock(pool, allow_direct, warn_on_destry) WARNING: Argument 'allow_direct' is not used in function-like macro #83: FILE: net/core/page_pool.c:58: +#define __page_pool_debug_alloc_lock(pool, allow_direct, warn_on_destry) WARNING: Argument 'warn_on_destry' is not used in function-like macro #83: FILE: net/core/page_pool.c:58: +#define __page_pool_debug_alloc_lock(pool, allow_direct, warn_on_destry) WARNING: Argument 'pool' is not used in function-like macro #84: FILE: net/core/page_pool.c:59: +#define __page_pool_debug_alloc_unlock(pool, allow_direct, warn_on_destry) WARNING: Argument 'allow_direct' is not used in function-like macro #84: FILE: net/core/page_pool.c:59: +#define __page_pool_debug_alloc_unlock(pool, allow_direct, warn_on_destry) WARNING: Argument 'warn_on_destry' is not used in function-like macro #84: FILE: net/core/page_pool.c:59: +#define __page_pool_debug_alloc_unlock(pool, allow_direct, warn_on_destry) WARNING: Argument 'pool' is not used in function-like macro #85: FILE: net/core/page_pool.c:60: +#define page_pool_debug_alloc_lock(pool, allow_direct) WARNING: Argument 'allow_direct' is not used in function-like macro #85: FILE: net/core/page_pool.c:60: +#define page_pool_debug_alloc_lock(pool, allow_direct) WARNING: Argument 'pool' is not used in function-like macro #86: FILE: net/core/page_pool.c:61: +#define page_pool_debug_alloc_unlock(pool, allow_direct) WARNING: Argument 'allow_direct' is not used in function-like macro #86: FILE: net/core/page_pool.c:61: +#define page_pool_debug_alloc_unlock(pool, allow_direct) total: 0 errors, 27 warnings, 2 checks, 179 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. Commit beee4a6b2966 ("page_pool: add debugging to catch concurrent access to pool->alloc") has style problems, please review. NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. total: 0 errors, 27 warnings, 2 checks, 179 lines checked