|
@@ -28,10 +28,12 @@ struct blk_trace {
|
|
|
atomic_t dropped;
|
|
|
};
|
|
|
|
|
|
+struct blkcg;
|
|
|
+
|
|
|
extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *);
|
|
|
extern void blk_trace_shutdown(struct request_queue *);
|
|
|
-extern __printf(2, 3)
|
|
|
-void __trace_note_message(struct blk_trace *, const char *fmt, ...);
|
|
|
+extern __printf(3, 4)
|
|
|
+void __trace_note_message(struct blk_trace *, struct blkcg *blkcg, const char *fmt, ...);
|
|
|
|
|
|
/**
|
|
|
* blk_add_trace_msg - Add a (simple) message to the blktrace stream
|
|
@@ -46,12 +48,14 @@ void __trace_note_message(struct blk_trace *, const char *fmt, ...);
|
|
|
* NOTE: Can not use 'static inline' due to presence of var args...
|
|
|
*
|
|
|
**/
|
|
|
-#define blk_add_trace_msg(q, fmt, ...) \
|
|
|
+#define blk_add_cgroup_trace_msg(q, cg, fmt, ...) \
|
|
|
do { \
|
|
|
struct blk_trace *bt = (q)->blk_trace; \
|
|
|
if (unlikely(bt)) \
|
|
|
- __trace_note_message(bt, fmt, ##__VA_ARGS__); \
|
|
|
+ __trace_note_message(bt, cg, fmt, ##__VA_ARGS__);\
|
|
|
} while (0)
|
|
|
+#define blk_add_trace_msg(q, fmt, ...) \
|
|
|
+ blk_add_cgroup_trace_msg(q, NULL, fmt, ##__VA_ARGS__)
|
|
|
#define BLK_TN_MAX_MSG 128
|
|
|
|
|
|
static inline bool blk_trace_note_message_enabled(struct request_queue *q)
|
|
@@ -82,6 +86,7 @@ extern struct attribute_group blk_trace_attr_group;
|
|
|
# define blk_trace_startstop(q, start) (-ENOTTY)
|
|
|
# define blk_trace_remove(q) (-ENOTTY)
|
|
|
# define blk_add_trace_msg(q, fmt, ...) do { } while (0)
|
|
|
+# define blk_add_cgroup_trace_msg(q, cg, fmt, ...) do { } while (0)
|
|
|
# define blk_trace_remove_sysfs(dev) do { } while (0)
|
|
|
# define blk_trace_note_message_enabled(q) (false)
|
|
|
static inline int blk_trace_init_sysfs(struct device *dev)
|