qcacmn: Add rate limit for HEX DUMP qdf api
Add rate limit for QDF_TRACE_HEX_DUMP API to avoid hex dump message flood in kmsg and driver log. Change-Id: I34fa16f3723169a07e66c0c806885c06abc2fa57 CRs-Fixed: 2660367
Bu işleme şunda yer alıyor:

işlemeyi yapan:
nshrivas

ebeveyn
681b2b4642
işleme
560f438d7b
@@ -90,8 +90,20 @@
|
||||
__last_ticks = __ticks;\
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define __QDF_TRACE_HEX_DUMP_RATE_LIMITED(params...)\
|
||||
do {\
|
||||
static ulong __last_ticks;\
|
||||
ulong __ticks = jiffies;\
|
||||
if (time_after(__ticks,\
|
||||
__last_ticks + HZ / QDF_MAX_LOGS_PER_SEC)) {\
|
||||
QDF_TRACE_HEX_DUMP(params);\
|
||||
__last_ticks = __ticks;\
|
||||
} \
|
||||
} while (0)
|
||||
#else
|
||||
#define __QDF_TRACE_RATE_LIMITED(arg ...)
|
||||
#define __QDF_TRACE_HEX_DUMP_RATE_LIMITED(arg ...)
|
||||
#endif
|
||||
|
||||
#define __QDF_TRACE_NO_FL(log_level, module_id, format, args...) \
|
||||
@@ -106,6 +118,9 @@
|
||||
#define __QDF_TRACE_RL_NO_FL(log_level, module_id, format, args...) \
|
||||
__QDF_TRACE_RATE_LIMITED(module_id, log_level, format, ## args)
|
||||
|
||||
#define __QDF_TRACE_HEX_DUMP_RL(log_level, module_id, args...) \
|
||||
__QDF_TRACE_HEX_DUMP_RATE_LIMITED(module_id, log_level, ## args)
|
||||
|
||||
static inline void __qdf_trace_noop(QDF_MODULE_ID module,
|
||||
const char *format, ...) { }
|
||||
static inline void __qdf_trace_dummy(QDF_MODULE_ID module,
|
||||
@@ -130,12 +145,15 @@ static inline void __qdf_trace_hexdump_dummy(QDF_MODULE_ID module,
|
||||
__QDF_TRACE_RL_NO_FL(QDF_TRACE_LEVEL_FATAL, ## params)
|
||||
#define QDF_VTRACE_FATAL(module_id, fmt, args) \
|
||||
QDF_VTRACE(module_id, QDF_TRACE_LEVEL_FATAL, fmt, args)
|
||||
#define QDF_TRACE_HEX_DUMP_FATAL_RL(params...) \
|
||||
__QDF_TRACE_HEX_DUMP_RL(QDF_TRACE_LEVEL_FATAL, ## params)
|
||||
#else
|
||||
#define QDF_TRACE_FATAL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_FATAL_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_FATAL_RL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_FATAL_RL_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_VTRACE_FATAL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_HEX_DUMP_FATAL_RL(params...) __qdf_trace_noop(params)
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_LOG_ERROR
|
||||
@@ -149,12 +167,15 @@ static inline void __qdf_trace_hexdump_dummy(QDF_MODULE_ID module,
|
||||
__QDF_TRACE_RL_NO_FL(QDF_TRACE_LEVEL_ERROR, ## params)
|
||||
#define QDF_VTRACE_ERROR(module_id, fmt, args) \
|
||||
QDF_VTRACE(module_id, QDF_TRACE_LEVEL_ERROR, fmt, args)
|
||||
#define QDF_TRACE_HEX_DUMP_ERROR_RL(params...) \
|
||||
__QDF_TRACE_HEX_DUMP_RL(QDF_TRACE_LEVEL_ERROR, ## params)
|
||||
#else
|
||||
#define QDF_TRACE_ERROR(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_ERROR_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_ERROR_RL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_ERROR_RL_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_VTRACE_ERROR(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_HEX_DUMP_ERROR_RL(params...) __qdf_trace_noop(params)
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_LOG_WARN
|
||||
@@ -168,12 +189,15 @@ static inline void __qdf_trace_hexdump_dummy(QDF_MODULE_ID module,
|
||||
__QDF_TRACE_RL_NO_FL(QDF_TRACE_LEVEL_WARN, ## params)
|
||||
#define QDF_VTRACE_WARN(module_id, fmt, args) \
|
||||
QDF_VTRACE(module_id, QDF_TRACE_LEVEL_WARN, fmt, args)
|
||||
#define QDF_TRACE_HEX_DUMP_WARN_RL(params...) \
|
||||
__QDF_TRACE_HEX_DUMP_RL(QDF_TRACE_LEVEL_WARN, ## params)
|
||||
#else
|
||||
#define QDF_TRACE_WARN(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_WARN_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_WARN_RL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_WARN_RL_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_VTRACE_WARN(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_HEX_DUMP_WARN_RL(params...) __qdf_trace_noop(params)
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_LOG_INFO
|
||||
@@ -187,12 +211,15 @@ static inline void __qdf_trace_hexdump_dummy(QDF_MODULE_ID module,
|
||||
__QDF_TRACE_RL_NO_FL(QDF_TRACE_LEVEL_INFO, ## params)
|
||||
#define QDF_VTRACE_INFO(module_id, fmt, args) \
|
||||
QDF_VTRACE(module_id, QDF_TRACE_LEVEL_INFO, fmt, args)
|
||||
#define QDF_TRACE_HEX_DUMP_INFO_RL(params...) \
|
||||
__QDF_TRACE_HEX_DUMP_RL(QDF_TRACE_LEVEL_INFO, ## params)
|
||||
#else
|
||||
#define QDF_TRACE_INFO(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_INFO_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_INFO_RL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_INFO_RL_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_VTRACE_INFO(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_HEX_DUMP_INFO_RL(params...) __qdf_trace_noop(params)
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_LOG_DEBUG
|
||||
@@ -206,12 +233,15 @@ static inline void __qdf_trace_hexdump_dummy(QDF_MODULE_ID module,
|
||||
__QDF_TRACE_RL_NO_FL(QDF_TRACE_LEVEL_DEBUG, ## params)
|
||||
#define QDF_VTRACE_DEBUG(module_id, fmt, args) \
|
||||
QDF_VTRACE(module_id, QDF_TRACE_LEVEL_DEBUG, fmt, args)
|
||||
#define QDF_TRACE_HEX_DUMP_DEBUG_RL(params...) \
|
||||
__QDF_TRACE_HEX_DUMP_RL(QDF_TRACE_LEVEL_DEBUG, ## params)
|
||||
#else
|
||||
#define QDF_TRACE_DEBUG(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_DEBUG_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_DEBUG_RL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_DEBUG_RL_NO_FL(params...) __qdf_trace_noop(params)
|
||||
#define QDF_VTRACE_DEBUG(params...) __qdf_trace_noop(params)
|
||||
#define QDF_TRACE_HEX_DUMP_DEBUG_RL(params...) __qdf_trace_noop(params)
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_LOG_ENTER
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle