发明名称 一种面向多虚拟机应用的网卡中断控制方法
摘要 本发明涉及一种多虚拟机应用的虚拟化网卡中断控制方法,网卡接收或发送数据包时,先读取数据包的描述符,获得DMA源地址、目的地址和长度等信息,然后执行DMA操作,操作完成后再将描述符回写,对应虚拟机队列的计数器进行计数,当计数器的数值达到预设阈值时,发送中断请求;计数器工作同时,计时器也进行计时工作,当计时器的数值达到预设时间阈值,则判断数据包是否完成操作,若完成了操作则发送中断请求,否则等数据包完成操作后才发送中断请求;根据需要,还设有不受上述两个阈值约束的立即中断操作;采用本方法将原来软件层的中断工作通过硬件完成,完全解放CPU,降低CPU使用率,同时由于硬件处理速度远高于软件,大大提高了数据处理速度。
申请公布号 CN101620551B 申请公布日期 2013.03.06
申请号 CN200910083648.9 申请日期 2009.05.07
申请人 曙光信息产业(北京)有限公司 发明人 曾宇;方信我;郑臣明;温志明;吴平
分类号 G06F9/48(2006.01)I;G06F13/28(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 北京安博达知识产权代理有限公司 11271 代理人 徐国文
主权项 一种多虚拟机应用的网卡中断控制方法,所述网卡上设置有FPGA,所述FPGA包括:MAC模块、内存模块、PCIe、网络滤波器、DMA控制器、协议处理器、描述符管理器;特征在于是:所述DMA控制器还连接有中断控制器,所述中断控制器内设有计数器和计时器,所述内存模块对应每个虚拟机划分有相应的虚拟机队列,所述方法采用如下步骤:A、网卡在收发数据包时,所述协议处理器通过描述符管理器读取所述数据包的描述符获得DMA的源地址、目的地址和长度信息,并将所述描述符传给所述DMA控制器;B、发送数据包时,所述DMA控制器根据描述符的信息将所述数据包直接从主机中通过协议处理器进行派分,将从主机中读到的数据包寄存到相应内存模块的虚拟机队列中;接收数据包时,DMA控制器根据描述符的信息将所述数据包从相应内存模块的虚拟机队列中读出并写入主机内存;C、所述DMA控制器完成数据包的派分寄存操作后,将描述符进行回写操作,通知中断控制器数据包的接收或发送操作完成,所述中断控制器的计数器对相应虚拟机队列的计数执行加1操作;D、当所述内存模块的虚拟机队列相应计数器的数值达到预设数量阈值时,所述计数器通知中断控制器向相应的虚拟机发送中断请求。
地址 100084 北京市海淀区水磨西街64号