Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/io_uring/futex.h
26131 views
1
// SPDX-License-Identifier: GPL-2.0
2
3
#include "cancel.h"
4
5
int io_futex_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
6
int io_futexv_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
7
int io_futex_wait(struct io_kiocb *req, unsigned int issue_flags);
8
int io_futexv_wait(struct io_kiocb *req, unsigned int issue_flags);
9
int io_futex_wake(struct io_kiocb *req, unsigned int issue_flags);
10
11
#if defined(CONFIG_FUTEX)
12
int io_futex_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd,
13
unsigned int issue_flags);
14
bool io_futex_remove_all(struct io_ring_ctx *ctx, struct io_uring_task *tctx,
15
bool cancel_all);
16
bool io_futex_cache_init(struct io_ring_ctx *ctx);
17
void io_futex_cache_free(struct io_ring_ctx *ctx);
18
#else
19
static inline int io_futex_cancel(struct io_ring_ctx *ctx,
20
struct io_cancel_data *cd,
21
unsigned int issue_flags)
22
{
23
return 0;
24
}
25
static inline bool io_futex_remove_all(struct io_ring_ctx *ctx,
26
struct io_uring_task *tctx, bool cancel_all)
27
{
28
return false;
29
}
30
static inline bool io_futex_cache_init(struct io_ring_ctx *ctx)
31
{
32
return false;
33
}
34
static inline void io_futex_cache_free(struct io_ring_ctx *ctx)
35
{
36
}
37
#endif
38
39