Searched refs:io_context (Results 1 - 15 of 15) sorted by relevance

/linux-4.1.27/block/
H A Dblk-ioc.c19 * get_io_context - increment reference count to io_context
20 * @ioc: io_context to get
24 void get_io_context(struct io_context *ioc) get_io_context()
55 struct io_context *ioc = icq->ioc; ioc_destroy_icq()
90 struct io_context *ioc = container_of(work, struct io_context, ioc_release_fn()
123 * put_io_context - put a reference of io_context
124 * @ioc: io_context to put
129 void put_io_context(struct io_context *ioc) put_io_context()
165 void put_io_context_active(struct io_context *ioc) put_io_context_active()
202 struct io_context *ioc; exit_io_context()
205 ioc = task->io_context; exit_io_context()
206 task->io_context = NULL; exit_io_context()
226 struct io_context *ioc = icq->ioc; ioc_clear_queue()
236 struct io_context *ioc; create_task_io_context()
261 if (!task->io_context && create_task_io_context()
263 task->io_context = ioc; create_task_io_context()
267 ret = task->io_context ? 0 : -EBUSY; create_task_io_context()
275 * get_task_io_context - get io_context of a task
280 * Return io_context of @task. If it doesn't exist, it is created with
281 * @gfp_flags and @node. The returned io_context has its reference count
285 * %current->io_context + get_io_context() for %current.
287 struct io_context *get_task_io_context(struct task_struct *task, get_task_io_context()
290 struct io_context *ioc; get_task_io_context()
296 ioc = task->io_context; get_task_io_context()
311 * @ioc: the associated io_context
317 struct io_cq *ioc_lookup_icq(struct io_context *ioc, struct request_queue *q) ioc_lookup_icq()
347 * @ioc: io_context of interest
357 struct io_cq *ioc_create_icq(struct io_context *ioc, struct request_queue *q, ioc_create_icq()
404 sizeof(struct io_context), 0, SLAB_PANIC, NULL); blk_ioc_init()
H A Dblk.h236 * Internal io_context interface
238 void get_io_context(struct io_context *ioc);
239 struct io_cq *ioc_lookup_icq(struct io_context *ioc, struct request_queue *q);
240 struct io_cq *ioc_create_icq(struct io_context *ioc, struct request_queue *q,
247 * create_io_context - try to create task->io_context
251 * If %current->io_context is %NULL, allocate a new io_context and install
252 * it. Returns the current %current->io_context which may be %NULL if
256 * task_lock which protects %current->io_context is IRQ-unsafe.
258 static inline struct io_context *create_io_context(gfp_t gfp_mask, int node) create_io_context()
261 if (unlikely(!current->io_context)) create_io_context()
263 return current->io_context; create_io_context()
H A Dioprio.c35 struct io_context *ioc; set_task_ioprio()
152 if (p->io_context) get_task_ioprio()
153 ret = p->io_context->ioprio; get_task_ioprio()
H A Dblk-core.c814 static inline int ioc_batching(struct request_queue *q, struct io_context *ioc) ioc_batching()
835 static void ioc_set_batching(struct request_queue *q, struct io_context *ioc) ioc_set_batching()
945 * rq_ioc - determine io_context for request allocation
948 * Determine io_context to use for request allocation for @bio. May return
949 * %NULL if %current->io_context doesn't exist.
951 static struct io_context *rq_ioc(struct bio *bio) rq_ioc()
957 return current->io_context; rq_ioc()
980 struct io_context *ioc = rq_ioc(bio); __get_request()
1078 /* @rq->elv.icq holds io_context until @rq is freed */ __get_request()
1184 ioc_set_batching(q, current->io_context); get_request()
1863 * Various block parts want %current->io_context and lazy ioc generic_make_request_checks()
H A Dbio.c1994 * This function takes an extra reference of @task's io_context and blkcg
1996 * ensure %current->io_context exists, and is responsible for synchronizing
2001 struct io_context *ioc; bio_associate_current()
2007 ioc = current->io_context; bio_associate_current()
H A Dblk-cgroup.c912 struct io_context *ioc; blkcg_can_attach()
918 ioc = task->io_context; cgroup_taskset_for_each()
H A Dcfq-iosched.c871 struct io_context *ioc) cfq_cic_lookup()
2288 cic = cfq_cic_lookup(cfqd, tsk->io_context); cfq_find_rq_fmerge()
2419 cic = cfq_cic_lookup(cfqd, current->io_context); cfq_allow_merge()
4143 cic = cfq_cic_lookup(cfqd, tsk->io_context); cfq_may_queue()
/linux-4.1.27/include/linux/
H A Diocontext.h13 * An io_cq (icq) is association between an io_context (ioc) and a
39 * is called and be holding a reference to the associated io_context.
43 * are called with both the associated io_context and queue locks held.
73 struct io_context *ioc;
97 struct io_context { struct
128 static inline void get_io_context_active(struct io_context *ioc) get_io_context_active()
136 static inline void ioc_task_link(struct io_context *ioc) ioc_task_link()
146 void put_io_context(struct io_context *ioc);
147 void put_io_context_active(struct io_context *ioc);
149 struct io_context *get_task_io_context(struct task_struct *task,
152 struct io_context; put_io_context()
153 static inline void put_io_context(struct io_context *ioc) { } exit_io_context()
H A Dblk_types.h15 struct io_context;
78 struct io_context *bi_ioc;
H A Dsched.h1100 struct io_context; /* See blkdev.h */
1567 struct io_context *io_context; member in struct:task_struct
2608 * pins the final release of task.io_context. Also protects ->cpuset and
/linux-4.1.27/kernel/
H A Dkcmp.c157 ret = kcmp_ptr(task1->io_context, task2->io_context, KCMP_IO); SYSCALL_DEFINE5()
H A Dfork.c1035 struct io_context *ioc = current->io_context; copy_io()
1036 struct io_context *new_ioc; copy_io()
1045 tsk->io_context = ioc; copy_io()
1366 p->io_context = NULL; copy_process()
1610 if (p->io_context) copy_process()
H A Dexit.c788 if (tsk->io_context) do_exit()
/linux-4.1.27/fs/btrfs/
H A Dvolumes.c380 struct io_context *ioc; run_scheduled_bios()
382 ioc = current->io_context; run_scheduled_bios()
/linux-4.1.27/fs/ext4/
H A Dsuper.c4921 if (sbi->s_journal && sbi->s_journal->j_task->io_context) ext4_remount()
4922 journal_ioprio = sbi->s_journal->j_task->io_context->ioprio; ext4_remount()

Completed in 812 milliseconds