diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-02-15 21:24:46 +0300 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-02-15 21:24:46 +0300 |
| commit | 011af61b9f7c9104eae7ad9951456330d950c771 (patch) | |
| tree | e4c6a4255bf5be0c4ea6a471bf0ae8670d097d5d /include/linux | |
| parent | c4f414becb6ac9c71ea80dd8b28478d357c62bb7 (diff) | |
| parent | ce8ded2e61f47747e31eeefb44dc24a2160a7e32 (diff) | |
| download | linux-011af61b9f7c9104eae7ad9951456330d950c771.tar.xz | |
Merge tag '9p-for-7.0-rc1' of https://github.com/martinetd/linux
Pull 9p updates from Dominique Martinet:
- 9p/xen racy double-free fix
- track 9p RPC waiting time as IO
* tag '9p-for-7.0-rc1' of https://github.com/martinetd/linux:
9p/xen: protect xen_9pfs_front_free against concurrent calls
9p: Track 9P RPC waiting time as IO
wait: Introduce io_wait_event_killable()
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/wait.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/wait.h b/include/linux/wait.h index f648044466d5..dce055e6add3 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h @@ -937,6 +937,21 @@ extern int do_wait_intr_irq(wait_queue_head_t *, wait_queue_entry_t *); __ret; \ }) +#define __io_wait_event_killable(wq, condition) \ + ___wait_event(wq, condition, TASK_KILLABLE, 0, 0, io_schedule()) + +/* + * wait_event_killable() - link wait_event_killable but with io_schedule() + */ +#define io_wait_event_killable(wq_head, condition) \ +({ \ + int __ret = 0; \ + might_sleep(); \ + if (!(condition)) \ + __ret = __io_wait_event_killable(wq_head, condition); \ + __ret; \ +}) + #define __wait_event_state(wq, condition, state) \ ___wait_event(wq, condition, state, 0, 0, schedule()) |
