Add basic data structure for graph sqe feature. Signed-off-by: Hao Xu <haoxu@xxxxxxxxxxxxxxxxx> --- fs/io_uring.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/fs/io_uring.c b/fs/io_uring.c index d86372664f9f..e96d38d268a8 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -326,8 +326,25 @@ struct io_submit_state { struct blk_plug plug; }; +struct io_graph_child_node { + struct io_graph_node *to; + struct io_graph_child_node *next; +}; + +struct io_graph_node { + struct io_kiocb *req; + struct io_graph_child_node *children; + atomic_t refs; +}; + +struct io_graph_info { + int nr_nodes; + int pos; + struct io_graph_node **graph_array; +}; + struct io_ring_ctx { - /* const or read-mostly hot data */ + /* cons t or read-mostly hot data */ struct { struct percpu_ref refs; @@ -459,6 +476,7 @@ struct io_ring_ctx { u32 iowq_limits[2]; bool iowq_limits_set; }; + struct io_graph_info graph_info; }; struct io_uring_task { -- 2.25.1