首页 > 其他分享 >__blk_run_queue

__blk_run_queue

时间:2023-06-04 13:07:28浏览次数:28  
标签:__ run request queue blk fn


1. aoe_end_request
2. blk_delay_work
3. blk_start_queue
4. blk_run_queue
5. __blk_drain_queue
6. blk_queue_bio
7. blk_insert_cloned_request
8. queue_unplugged
9. blk_post_runtime_resume
10. blk_execute_rq_nowait
11. cfq_rq_enqueued
12. cfq_kick_queue
13. __elv_add_request
__blk_run_queue



void __blk_run_queue(struct request_queue *q)
{
	if (unlikely(blk_queue_stopped(q)))
		return;

	__blk_run_queue_uncond(q);
 
 
 
inline void __blk_run_queue_uncond(struct request_queue *q)
{
	if (unlikely(blk_queue_dead(q)))
		return;

	/*
	 * Some request_fn implementations, e.g. scsi_request_fn(), unlock
	 * the queue lock internally. As a result multiple threads may be
	 * running such a request function concurrently. Keep track of the
	 * number of active request_fn invocations such that blk_drain_queue()
	 * can wait until all these request_fn calls have finished.
	 */
	q->request_fn_active++;
	q->request_fn(q);
	q->request_fn_active--;
}
EXPORT_SYMBOL_GPL(__blk_run_queue_uncond);

标签:__,run,request,queue,blk,fn
From: https://blog.51cto.com/u_11860992/6410367

相关文章

  • bootmem 释放页到伙伴系统
     在前面介绍的mm_init中,其调用函数mem_init(),在这个函数中会把bootmem中空闲内存释放到伙伴系统。我们下面看bootmem中一个释放内存的函数free_all_bootmem unsignedlong__initfree_all_bootmem(void){unsignedlongtotal_pages=0;bootmem_data_t*bdata;reset_......
  • 内存管理之memblock管理之移除块
    此函数是整个memblock中分配和释放内存的核心函数,主要是对region操作。详细实现如下:staticint__init_memblockmemblock_remove_range(structmemblock_type*type, phys_addr_tbase,phys_addr_tsize){ intstart_rgn,end_rgn; inti,ret;//先确定移除的逻辑块......
  • Hadoop YARN - Introduction to the web services REST API’s
    HadoopYARN-IntroductiontothewebservicesRESTAPI’sOverviewURI’sHTTPRequestsSummaryofHTTPoperationsSecurityHeadersSupportedHTTPResponsesCompressionResponseFormatsResponseErrorsResponseExamplesSampleUsageOverviewTheHadoopYARNwebservice......
  • HDFS Federation
    HDFSFederationHDFSFederationBackgroundMultipleNamenodes/NamespacesKeyBenefitsFederationConfigurationConfiguration:FormattingNamenodesUpgradingfromanolderreleaseandconfiguringfederationAddinganewNamenodetoanexistingHDFSclusterManaging......
  • Linux下安装jdk和Tomcat
    一、下载jdk1.5从http://www.sun.com/网站下载jdk1.5 下载:jdk-1_5_0_15-linux-i586-rpm.bin 二、安装jdk  1.#chmod+xjdk-1_5_0_15-linux-i586-rpm.bin#./jdk-1_5_0_15-linux-i586-rpm.bin按提示按输入yes,在同一目录会得到一个jdk-1_5_0_15-linux-i586-rpm通过#rpm–iv......
  • Oracle分页查询语句
    Oracle分页查询语句(一)作者:yangtingkun     Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT*......
  • 几个隐写题目的总结
    在几个比赛中以及网上汇总了几个隐写题目,都是关于图片的,所以为了以后的比赛可以写出一些脚本来备用,弥补stegsolve等隐写工具的不足。第一个题目题目是如图所示一个图片一堆杂色,隐隐约约好像有字,看了看元数据里没啥东西,binwalk也没隐藏啥东西,改了改高度也没隐藏的信息,用Stegsolve看......
  • 带你入逆向坑,怎样在win10上安装并使用Z3库
    点点关注,本萝莉就亲亲你上回说到三道不同平台的Reverse题目带你入逆向坑本文主要是写一下自己在使用Z3约束器来解方程时遇到的坑失败了好多次 才流泪写下这篇教程(好几次都想放弃)  避免大家和我一样浪费时间百度谷歌了好久也没找到方法话说大佬们是不是有什么技巧ps:大家给......
  • ctf中关于php伪协议的考查
    1php://input协议第一个例子flag.php<?php$flag='flag{flag_is_here}';test1.php<?phpinclude('flag.php');$a=$_GET["a"];if(isset($a)&&(file_get_contents($a,'r'))==='thisistest'){echo"s......
  • Django模板引擎
        Django作为Web框架,需要一种很便利的方法动态地生成HTML网页,因此有了模板这个概念。模板包含所需HTML的部分代码以及一些特殊语法,特殊语法用于描述如何将视图传递的数据动态插入HTML网页中。一个Jinja2。其他模板语言的后端可以从第三方获得。Django定义了一个标准的API......