diff options
| -rw-r--r-- | include/linux/trace_events.h | 5 | ||||
| -rw-r--r-- | kernel/trace/trace_events.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h index fe95d13c5e4d..4035cb450356 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h @@ -695,6 +695,11 @@ static inline void hist_poll_wakeup(void) #define hist_poll_wait(file, wait) \ poll_wait(file, &hist_poll_wq, wait) + +#else +static inline void hist_poll_wakeup(void) +{ +} #endif #define __TRACE_EVENT_FLAGS(name, value) \ diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index b26d7bb07e11..106ae22f0464 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -1169,6 +1169,9 @@ static void remove_event_file_dir(struct trace_event_file *file) free_event_filter(file->filter); file->flags |= EVENT_FILE_FL_FREED; event_file_put(file); + + /* Wake up hist poll waiters to notice the EVENT_FILE_FL_FREED flag. */ + hist_poll_wakeup(); } /* |
