linux-2.6.33/blk_alloc_queue_node()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#saf84e55]
#backlinks
*説明 [#pc928cf8]
-パス: [[linux-2.6.33/block/blk-core.c]]
-FIXME: これは何?
-スラブアロケータからキュー用の領域を確保する。
--スラブアロケータを使うための準備は blk_dev_init() で行...
--[[linux-2.6.33/blk_dev_init()]]
--[[linux-2.6/スラブアロケータ]]
**引数 [#a315a6cf]
-gfp_t gfp_mask
--
--[[linux-2.6.33/gfp_t]]
-int node_id
--
**返り値 [#hc4fd82a]
-struct request_queue *
--
--[[linux-2.6.33/request_queue]]
**参考 [#e1c50788]
*実装 [#aea54076]
struct request_queue *blk_alloc_queue_node(gfp_t gfp_mas...
{
struct request_queue *q;
int err;
q = kmem_cache_alloc_node(blk_requestq_cachep,
gfp_mask | __GFP_ZERO, node_id);
if (!q)
return NULL;
-blk_requestq_cachep は static 変数、kmem_cache 型
--[[linux-2.6.33/kmem_cache]]
-
--[[linux-2.6.33/__GFP_ZERO]]
-
--[[linux-2.6.33/kmem_cache_alloc_node()]]
q->backing_dev_info.unplug_io_fn = blk_backing_dev_unpl...
q->backing_dev_info.unplug_io_data = q;
q->backing_dev_info.ra_pages =
(VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE;
q->backing_dev_info.state = 0;
q->backing_dev_info.capabilities = BDI_CAP_MAP_COPY;
q->backing_dev_info.name = "block";
-
--[[linux-2.6.33/VM_MAX_READAHEAD]]
-
--[[linux-2.6.33/PAGE_CACHE_SIZE]]
-
--[[linux-2.6.33/BDI_CAP_MAP_COPY]]
-q->backing_dev_info は、backing_dev_info 型
--[[linux-2.6.33/backing_dev_info]]
-
--[[linux-2.6.33/blk_backing_dev_unplug()]]
err = bdi_init(&q->backing_dev_info);
if (err) {
kmem_cache_free(blk_requestq_cachep, q);
return NULL;
}
-
--[[linux-2.6.33/bdi_init()]]
-
--[[linux-2.6.33/kmem_cache_free()]]
init_timer(&q->unplug_timer);
setup_timer(&q->timeout, blk_rq_timed_out_timer, (unsig...
INIT_LIST_HEAD(&q->timeout_list);
INIT_WORK(&q->unplug_work, blk_unplug_work);
-
--[[linux-2.6.33/init_timer()]]
-
--[[linux-2.6.33/setup_timer()]]
-
--[[linux-2.6.33/blk_rq_timed_out_timer()]]
-
--[[linux-2.6.33/INIT_LIST_HEAD()]]
-
--[[linux-2.6.33/INIT_WORK()]]
-
--[[linux-2.6.33/blk_unplug_work()]]
kobject_init(&q->kobj, &blk_queue_ktype);
-
--[[linux-2.6.33/kobject_init()]]
mutex_init(&q->sysfs_lock);
spin_lock_init(&q->__queue_lock);
-
--[[linux-2.6.33/mutex_init()]]
-
--[[linux-2.6.33/spin_lock_init()]]
return q;
}
EXPORT_SYMBOL(blk_alloc_queue_node);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#v500307f]
終了行:
*参照元 [#saf84e55]
#backlinks
*説明 [#pc928cf8]
-パス: [[linux-2.6.33/block/blk-core.c]]
-FIXME: これは何?
-スラブアロケータからキュー用の領域を確保する。
--スラブアロケータを使うための準備は blk_dev_init() で行...
--[[linux-2.6.33/blk_dev_init()]]
--[[linux-2.6/スラブアロケータ]]
**引数 [#a315a6cf]
-gfp_t gfp_mask
--
--[[linux-2.6.33/gfp_t]]
-int node_id
--
**返り値 [#hc4fd82a]
-struct request_queue *
--
--[[linux-2.6.33/request_queue]]
**参考 [#e1c50788]
*実装 [#aea54076]
struct request_queue *blk_alloc_queue_node(gfp_t gfp_mas...
{
struct request_queue *q;
int err;
q = kmem_cache_alloc_node(blk_requestq_cachep,
gfp_mask | __GFP_ZERO, node_id);
if (!q)
return NULL;
-blk_requestq_cachep は static 変数、kmem_cache 型
--[[linux-2.6.33/kmem_cache]]
-
--[[linux-2.6.33/__GFP_ZERO]]
-
--[[linux-2.6.33/kmem_cache_alloc_node()]]
q->backing_dev_info.unplug_io_fn = blk_backing_dev_unpl...
q->backing_dev_info.unplug_io_data = q;
q->backing_dev_info.ra_pages =
(VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE;
q->backing_dev_info.state = 0;
q->backing_dev_info.capabilities = BDI_CAP_MAP_COPY;
q->backing_dev_info.name = "block";
-
--[[linux-2.6.33/VM_MAX_READAHEAD]]
-
--[[linux-2.6.33/PAGE_CACHE_SIZE]]
-
--[[linux-2.6.33/BDI_CAP_MAP_COPY]]
-q->backing_dev_info は、backing_dev_info 型
--[[linux-2.6.33/backing_dev_info]]
-
--[[linux-2.6.33/blk_backing_dev_unplug()]]
err = bdi_init(&q->backing_dev_info);
if (err) {
kmem_cache_free(blk_requestq_cachep, q);
return NULL;
}
-
--[[linux-2.6.33/bdi_init()]]
-
--[[linux-2.6.33/kmem_cache_free()]]
init_timer(&q->unplug_timer);
setup_timer(&q->timeout, blk_rq_timed_out_timer, (unsig...
INIT_LIST_HEAD(&q->timeout_list);
INIT_WORK(&q->unplug_work, blk_unplug_work);
-
--[[linux-2.6.33/init_timer()]]
-
--[[linux-2.6.33/setup_timer()]]
-
--[[linux-2.6.33/blk_rq_timed_out_timer()]]
-
--[[linux-2.6.33/INIT_LIST_HEAD()]]
-
--[[linux-2.6.33/INIT_WORK()]]
-
--[[linux-2.6.33/blk_unplug_work()]]
kobject_init(&q->kobj, &blk_queue_ktype);
-
--[[linux-2.6.33/kobject_init()]]
mutex_init(&q->sysfs_lock);
spin_lock_init(&q->__queue_lock);
-
--[[linux-2.6.33/mutex_init()]]
-
--[[linux-2.6.33/spin_lock_init()]]
return q;
}
EXPORT_SYMBOL(blk_alloc_queue_node);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#v500307f]
ページ名: