[發(fā)明專利]一種應(yīng)用于具有多CPU和網(wǎng)卡的系統(tǒng)的網(wǎng)卡驅(qū)動(dòng)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201310309455.7 | 申請(qǐng)日: | 2013-07-23 |
| 公開(公告)號(hào): | CN103440213A | 公開(公告)日: | 2013-12-11 |
| 發(fā)明(設(shè)計(jì))人: | 劉炳偉;王金桂 | 申請(qǐng)(專利權(quán))人: | 深圳市共進(jìn)電子股份有限公司 |
| 主分類號(hào): | G06F13/10 | 分類號(hào): | G06F13/10 |
| 代理公司: | 深圳市凱達(dá)知識(shí)產(chǎn)權(quán)事務(wù)所 44256 | 代理人: | 王琦 |
| 地址: | 518067 廣東省深圳市南山區(qū)南海*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 應(yīng)用于 具有 cpu 網(wǎng)卡 系統(tǒng) 驅(qū)動(dòng) 方法 | ||
1.一種應(yīng)用于具有多CPU和網(wǎng)卡的系統(tǒng)的網(wǎng)卡驅(qū)動(dòng)方法,包括網(wǎng)卡驅(qū)動(dòng)過程一和網(wǎng)卡驅(qū)動(dòng)過程二,其特征在于,還包括步驟:在各個(gè)CPU的數(shù)據(jù)結(jié)構(gòu)中分別創(chuàng)建數(shù)據(jù)接收設(shè)備隊(duì)列和數(shù)據(jù)發(fā)送設(shè)備隊(duì)列,初始化為空;
所述網(wǎng)卡驅(qū)動(dòng)過程一具體包括:
①在通信對(duì)端的以太網(wǎng)數(shù)據(jù)到達(dá)網(wǎng)卡時(shí),產(chǎn)生硬件中斷,同時(shí)關(guān)閉硬件中斷,調(diào)用中斷處理進(jìn)程;
②將所述網(wǎng)卡添加至一CPU的數(shù)據(jù)接收設(shè)備隊(duì)列中;
③重新開啟硬件中斷,同時(shí)設(shè)置所述網(wǎng)卡當(dāng)前所處數(shù)據(jù)接收設(shè)備隊(duì)列所屬的CPU軟中斷,所述中斷處理進(jìn)程返回;
所述網(wǎng)卡驅(qū)動(dòng)過程二具體包括:
進(jìn)行軟中斷輪詢;對(duì)于軟中斷置位的CPU,
先掃描其數(shù)據(jù)接收設(shè)備隊(duì)列,依次對(duì)該數(shù)據(jù)接收設(shè)備隊(duì)列中的每個(gè)網(wǎng)卡進(jìn)行處理:先從設(shè)備寄存器中讀取相應(yīng)的數(shù)據(jù),將數(shù)據(jù)打包后掛入當(dāng)前網(wǎng)卡的數(shù)據(jù)接收鏈表中;然后從數(shù)據(jù)接收設(shè)備隊(duì)列中摘除當(dāng)前網(wǎng)卡,并將當(dāng)前網(wǎng)卡掛入一CPU的數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中;
再依次對(duì)其數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中的設(shè)備進(jìn)行處理:將當(dāng)前網(wǎng)卡的數(shù)據(jù)接收鏈表中的數(shù)據(jù)處理后發(fā)送至協(xié)議棧。
2.如權(quán)利要求1所述的網(wǎng)卡驅(qū)動(dòng)方法,其特征在于,所述步驟②,將所述網(wǎng)卡添加至一CPU的數(shù)據(jù)接收設(shè)備隊(duì)列的過程進(jìn)一步包括:
所述中斷處理進(jìn)程輪詢各CPU,查看所述網(wǎng)卡存在于當(dāng)前CPU的數(shù)據(jù)接收設(shè)備隊(duì)列還是數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中,
若存在于當(dāng)前CPU的數(shù)據(jù)接收設(shè)備隊(duì)列,則跳轉(zhuǎn)至步驟③;
若存在于當(dāng)前CPU的數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中,則將該網(wǎng)卡移到一CPU的數(shù)據(jù)接收設(shè)備隊(duì)列后跳轉(zhuǎn)至步驟③;
若不存在于任一CPU的數(shù)據(jù)接收設(shè)備隊(duì)列及數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中,則將該網(wǎng)卡添加至一CPU的數(shù)據(jù)接收設(shè)備隊(duì)列中,之后跳轉(zhuǎn)至步驟③。
3.如權(quán)利要求2所述的網(wǎng)卡驅(qū)動(dòng)方法,其特征在于,所述步驟②中,在中斷處理進(jìn)程輪詢各CPU的過程中,若所述網(wǎng)卡存在于當(dāng)前CPU的數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中,則將該網(wǎng)卡移到負(fù)載最少的CPU的數(shù)據(jù)接收設(shè)備隊(duì)列后跳轉(zhuǎn)至步驟③。
4.如權(quán)利要求2所述的網(wǎng)卡驅(qū)動(dòng)方法,其特征在于,所述步驟②中,在中斷處理進(jìn)程輪詢各CPU的過程中,若所述網(wǎng)卡存在于當(dāng)前CPU的數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中,則將該網(wǎng)卡移到當(dāng)前CPU的數(shù)據(jù)接收設(shè)備隊(duì)列后跳轉(zhuǎn)至步驟③。
5.如權(quán)利要求2所述的網(wǎng)卡驅(qū)動(dòng)方法,其特征在于,所述步驟②中,在中斷處理進(jìn)程輪詢各CPU的過程中,若所述網(wǎng)卡不存在于任一CPU的數(shù)據(jù)接收設(shè)備隊(duì)列及數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中,則將該網(wǎng)卡添加至負(fù)載最少的CPU的數(shù)據(jù)接收設(shè)備隊(duì)列,之后跳轉(zhuǎn)至步驟③。
6.如權(quán)利要求1所述的網(wǎng)卡驅(qū)動(dòng)方法,其特征在于,所述網(wǎng)卡驅(qū)動(dòng)過程二中,在將當(dāng)前網(wǎng)卡從軟中斷置位的CPU的數(shù)據(jù)接收設(shè)備隊(duì)列中摘除后,將該網(wǎng)卡掛入負(fù)載最少的CPU的數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中。
7.如權(quán)利要求3、5或6所述的網(wǎng)卡驅(qū)動(dòng)方法,其特征在于,該方法中,判定其數(shù)據(jù)發(fā)送設(shè)備隊(duì)列中設(shè)備數(shù)量最少的CPU為負(fù)載最少的CPU。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市共進(jìn)電子股份有限公司,未經(jīng)深圳市共進(jìn)電子股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310309455.7/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 可選擇多網(wǎng)絡(luò)手機(jī)
- 多操作系統(tǒng)中網(wǎng)卡之間的切換方法和系統(tǒng)
- 一種網(wǎng)卡配置的方法及裝置
- 一種多網(wǎng)卡自動(dòng)聚合并監(jiān)控報(bào)警方法及系統(tǒng)
- 一種報(bào)文轉(zhuǎn)發(fā)方法、系統(tǒng)及網(wǎng)卡和存儲(chǔ)介質(zhì)
- 網(wǎng)卡性能統(tǒng)計(jì)方法以及裝置
- 網(wǎng)卡處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種網(wǎng)絡(luò)配置方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于Kylin系統(tǒng)的網(wǎng)卡識(shí)別處理方法、系統(tǒng)、終端及存儲(chǔ)介質(zhì)
- 一種網(wǎng)卡冗余系統(tǒng)及服務(wù)器





