bcache: Fix/revamp tracepoints
The tracepoints were reworked to be more sensible, and fixed a null pointer deref in one of the tracepoints. Converted some of the pr_debug()s to tracepoints - this is partly a performance optimization; it used to be that with DEBUG or CONFIG_DYNAMIC_DEBUG pr_debug() was an empty macro; but at some point it was changed to an empty inline function. Some of the pr_debug() statements had rather expensive function calls as part of the arguments, so this code was getting run unnecessarily even on non debug kernels - in some fast paths, too. Signed-off-by: Kent Overstreet <koverstreet@google.com>
This commit is contained in:
@@ -178,7 +178,6 @@
|
||||
#define pr_fmt(fmt) "bcache: %s() " fmt "\n", __func__
|
||||
|
||||
#include <linux/bio.h>
|
||||
#include <linux/blktrace_api.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/mutex.h>
|
||||
@@ -901,8 +900,6 @@ static inline unsigned local_clock_us(void)
|
||||
return local_clock() >> 10;
|
||||
}
|
||||
|
||||
#define MAX_BSETS 4U
|
||||
|
||||
#define BTREE_PRIO USHRT_MAX
|
||||
#define INITIAL_PRIO 32768
|
||||
|
||||
@@ -1107,23 +1104,6 @@ static inline void __bkey_put(struct cache_set *c, struct bkey *k)
|
||||
atomic_dec_bug(&PTR_BUCKET(c, k, i)->pin);
|
||||
}
|
||||
|
||||
/* Blktrace macros */
|
||||
|
||||
#define blktrace_msg(c, fmt, ...) \
|
||||
do { \
|
||||
struct request_queue *q = bdev_get_queue(c->bdev); \
|
||||
if (q) \
|
||||
blk_add_trace_msg(q, fmt, ##__VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
#define blktrace_msg_all(s, fmt, ...) \
|
||||
do { \
|
||||
struct cache *_c; \
|
||||
unsigned i; \
|
||||
for_each_cache(_c, (s), i) \
|
||||
blktrace_msg(_c, fmt, ##__VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
static inline void cached_dev_put(struct cached_dev *dc)
|
||||
{
|
||||
if (atomic_dec_and_test(&dc->count))
|
||||
|
Reference in New Issue
Block a user