mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
37 lines
963 B
C
37 lines
963 B
C
|
/*
|
||
|
* BFQ: I/O context handling.
|
||
|
*
|
||
|
* Based on ideas and code from CFQ:
|
||
|
* Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
|
||
|
*
|
||
|
* Copyright (C) 2008 Fabio Checconi <fabio@gandalf.sssup.it>
|
||
|
* Paolo Valente <paolo.valente@unimore.it>
|
||
|
*
|
||
|
* Copyright (C) 2010 Paolo Valente <paolo.valente@unimore.it>
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* icq_to_bic - convert iocontext queue structure to bfq_io_cq.
|
||
|
* @icq: the iocontext queue.
|
||
|
*/
|
||
|
static inline struct bfq_io_cq *icq_to_bic(struct io_cq *icq)
|
||
|
{
|
||
|
/* bic->icq is the first member, %NULL will convert to %NULL */
|
||
|
return container_of(icq, struct bfq_io_cq, icq);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* bfq_bic_lookup - search into @ioc a bic associated to @bfqd.
|
||
|
* @bfqd: the lookup key.
|
||
|
* @ioc: the io_context of the process doing I/O.
|
||
|
*
|
||
|
* Queue lock must be held.
|
||
|
*/
|
||
|
static inline struct bfq_io_cq *bfq_bic_lookup(struct bfq_data *bfqd,
|
||
|
struct io_context *ioc)
|
||
|
{
|
||
|
if (ioc)
|
||
|
return icq_to_bic(ioc_lookup_icq(ioc, bfqd->queue));
|
||
|
return NULL;
|
||
|
}
|