CN112783626A - 中断处理方法、装置、电子设备及存储介质 - Google Patents
中断处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112783626A CN112783626A CN202110083696.9A CN202110083696A CN112783626A CN 112783626 A CN112783626 A CN 112783626A CN 202110083696 A CN202110083696 A CN 202110083696A CN 112783626 A CN112783626 A CN 112783626A
- Authority
- CN
- China
- Prior art keywords
- processing function
- linked list
- processor
- interrupt processing
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 166
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种中断处理方法、装置、电子设备及存储介质,该方法包括:在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表,判断中断处理函数链表是否满足预设条件,若满足,则从中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从中断处理函数链表中删除,若处理函数执行完毕,则判断当前是否有就绪任务,若是,则执行就绪任务,否则,跳转至判断中断处理函数链表是否满足预设条件的步骤,从而提高了中断下半部处理的及时性,进而提高了中断处理效率。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种中断处理方法、装置、电子设备及存储介质。
背景技术
多处理器被广泛用于各种中高端应用领域,比如消费电子、视像安防、智能硬件等产品。这些应用场景往往较为复杂,CPU除了要处理各种任务外,还需要处理各个设备的中断。当外设模块的中断到来时,操作系统需要及时去处理,否则可能影响系统的整体性能。操作系统对每个中断的处理可分为两个步骤,上半部和下半部。上半部用于登记中断,主要是从中断悬挂寄存器中获得中断号,将中断号对应的处理函数(handler)添加到中断处理函数链表(irq hanlder list)中,然后清除中断悬挂寄存器中相应的位(bit)。上半部的执行时间较短,处理器中断是被关闭的。下半部执行中断的实际流程,即执行中断处理函数。下半部的执行时间相对较长,处理器中断是打开的,所以可能有新的中断产生,并被添加到中断处理函数链表中。中断处理函数的链表如图1所示。
在每个中断的上半部处理完,中断返回之前,会检查中断处理函数链表,执行下半部的处理。某个时刻系统中待处理的下半部函数可能非常多且复杂,此时若将中断处理函数链表上所有下半部函数执行一遍,需耗费较多的时间,可能会导致系统中任务无法被及时调度运行,影响系统的整体响应。因此设定一个时间阈值,若下半部函数的一次连续处理时间超出了该阈值,就唤醒某个线程去处理剩余的下半部函数,该线程叫中断下半部处理线程。中断下半部处理流程如图2所示,判断irq hanlder list是否为空,为空说明没有中断下半部等待处理,则流程结束,若irq hanlder list非空,且本次中断下半部连续处理时间已超出阈值,则唤醒中断下半部处理线程,由该线程去处理剩余的中断下半部;若本次中断下半部连续处理时间未超出阈值,则从irq hanlder list中获取下一个handler,并执行handler函数,执行完将handler从irq hanlder list链表中移除。获取handler按照先进先出的原则,先产生的中断,其handler会被先处理。例如图1中,irq1的handler被最先处理,其次是irq2,再次是irq3。循环上述流程,直到irq hanlder list为空,或者本次中断下半部连续处理时间达到阈值。
在多处理器系统中,每个处理器负责处理发送给本处理器的中断,因此每个处理器都有一个irq hanlder list链表和一个下半部处理线程。现有技术下,各处理器负责处理各自的中断,不会相互影响。
按上述流程,各处理器的中断下半部的处理,有两个时机:中断上半部返回之前,或者中断下半部处理线程中。其中上半部返回之前,一次连续处理下半部函数的时间不能超过阈值。如果达到了阈值,剩余的下半部函数需要在中断下半部处理线程中去执行。由于线程调度往往需要时间开销,且系统中可能有更高优先级的线程等待执行,因此中断下半部处理线程可能无法被及时调度运行,导致中断下半部得不到及时处理,进而降低了中断处理效率。
发明内容
本发明的目的在于提供一种中断处理方法、装置、电子设备及存储介质,旨在解决现有技术中断下半部得不到及时处理导致的中断处理效率不够高的问题。
一方面,本发明提供一种中断处理方法,所述方法包括下述步骤:
在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表;
判断所述中断处理函数链表是否满足预设条件;
若满足,则从所述中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从所述中断处理函数链表中删除;
若所述处理函数执行完毕,则判断当前是否有就绪任务;
若是,则执行所述就绪任务,否则,跳转至判断所述中断处理函数链表是否满足预设条件的步骤。
优选地,所述第二处理器为所述第一处理器以外的繁忙程度最高的处理器。
优选地,所述获取第二处理器的中断处理函数链表的步骤,包括:
统计第一处理器以外的每个处理器的中断处理函数链表的元素个数;
获取元素个数最多的中断处理函数链表,其中,与所述元素个数最多的中断处理函数链表对应的处理器为所述第二处理器。
优选地,所述预设条件为所述中断处理函数链表非空。
优选地,所述判断所述中断处理函数链表是否满足预设条件的步骤之后,包括:
若不满足预设条件,则进入空闲状态。
另一方面,本发明提供了一种中断处理装置,所述装置包括:
链表获取单元,用于在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表;
条件判断单元,用于判断所述中断处理函数链表是否满足预设条件;
函数执行单元,用于若所述中断处理函数链表满足预设条件,则从所述中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从所述中断处理函数链表中删除;
任务判断单元,用于若所述处理函数执行完毕,则判断当前是否有就绪任务;以及
任务执行单元,用于若当前有就绪任务,则执行所述就绪任务,否则,触发条件判断单元执行判断所述中断处理函数链表是否满足预设条件的步骤。
优选地,所述第二处理器为所述第一处理器以外的繁忙程度最高的处理器。
优选地,所述链表获取单元还包括:
元素统计单元,用于统计第一处理器以外的每个处理器的中断处理函数链表的元素个数;
链表获取子单元,用于获取元素个数最多的中断处理函数链表,其中,与所述元素个数最多的中断处理函数链表对应的处理器为所述第二处理器。
另一方面,本发明还提供了一种电子设备,包括存储器、多个处理器以及存储在所述存储器中并可在至少一个所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表,判断中断处理函数链表是否满足预设条件,若满足,则从中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从中断处理函数链表中删除,若处理函数执行完毕,则判断当前是否有就绪任务,若是,则执行就绪任务,否则,跳转至判断中断处理函数链表是否满足预设条件的步骤,从而提高了中断下半部处理的及时性,进而提高了中断处理效率。
附图说明
图1是背景技术提供的中断处理函数链表的结构示意图;
图2是背景技术提供的现有技术的中断处理方法的实现流程图;
图3是本发明实施例一提供的中断处理方法的实现流程图;
图4是本发明实施例二提供的中断处理方法的实现流程示例图;
图5是本发明实施例三提供的中断处理装置的结构示意图;以及
图6是本发明实施例四提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图3示出了本发明实施例一提供的中断处理方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S301中,在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表。
本发明实施例适用于电子设备,该电子设备包含多个处理器,电子设备在运行过程中,每个处理器要么在执行指令,要么处于空闲状态。当处理中断、或运行任务时,处理器在执行指令;当没有任务和中断处理时,处理器处于空闲。一般情况,多处理器系统中,即使复杂的应用场景,不会所有处理器一直满负荷运行,在某一时刻总有处理器处于空闲状态。为便于说明,将即将进入空闲状态的处理器用第一处理器描述,因此,当第一处理器没有任务和终端处理时,即,在第一处理器进入空闲状态之前,第一处理器获取第二处理器的中断处理函数链表,以判断其他处理器是否有中断下半部需要处理。第二处理器可以为第一处理器以外的任一处理器。优选地,第二处理器为第一处理器以外的繁忙程度最高的处理器,以在进入空闲状态之前,协助最繁忙的处理器完成中断下半部处理,进而提高了中断处理效率。
基于处理器的中断下半部的繁忙程度与中断处理函数链表中各个处理函数的程序复杂度、执行时间有关,而在无法预知各个处理函数的程序复杂度和执行时间的情况下,可认为中断处理函数链表的元素个数越多,待处理的处理函数越多,那么该中断下半部就越繁忙,从而优选地,统计第一处理器以外的每个处理器的中断处理函数链表的元素个数,获取元素个数最多的中断处理函数链表,其中,与元素个数最多的中断处理函数链表对应的处理器为第二处理器,从而通过各个中断处理函数链表的元素个数的统计结果获取最繁忙的处理器的终端处理函数链表。当然,该第二处理器也可以根据获取到的各个处理器的负载率确定,例如获取第一处理器以外的每个处理器的负载率,将负载率最高的处理器作为第二处理器,获取第二处理器的中断处理函数链表。
在步骤S302中,判断中断处理函数链表是否满足预设条件。
在本发明实施例中,该预设条件可以为中断处理函数链表的元素个数大于预设个数阈值,优选地,该预设条件为中断处理函数链表非空,即,第二处理器有中断下半部需要处理,以在第二处理器有中断下半部需要处理及时协助其进行中断下半部处理。
在步骤S303中,若满足,则从中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从中断处理函数链表中删除。
在本发明实施例中,若中断处理函数链表满足预设条件,说明需要协助第二处理器完成中断下半部的处理,此时,第一处理器按照先进先出的原则获取一个待处理的处理函数,并将获取到的处理函数从中断处理函数链表中删除,同时,执行该处理函数。若中断处理函数链表不满足预设条件,则说明无需协助第二处理器完成中断下半部的处理,此时,第一处理器进入空闲状态。
在步骤S304中,若处理函数执行完毕,则判断当前是否有就绪任务。
在本发明实施例中,每个处理器的运行状态信息中均包含有就绪任务队列,因此,第一处理器可通过该就绪任务队列判断该第一处理器当前是否有就绪任务。
在步骤S305中,若是,则执行就绪任务,否则,跳转至步骤S302。
在本发明实施例中,若第一处理器有就绪任务,则优先处理第一处理器上的任务,在第一处理器再次进入空闲状态之前,跳转至步骤S301,若第一处理器没有就绪任务,则跳转至步骤S302,以继续协助第二处理器处理下半部中断。
在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表,判断中断处理函数链表是否满足预设条件,若满足,则从中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从中断处理函数链表中删除,若处理函数执行完毕,则判断当前是否有就绪任务,若是,则执行就绪任务,否则,跳转至判断中断处理函数链表是否满足预设条件的步骤,从而在现有技术基础上,提供了一种新的中断下半部处理时机,有效利用系统空闲的处理器资源,降低了中断下半部得不到及时处理的风险,提高了中断处理效率。
实施例二:
图4示出了本发明实施例二提供的中断处理方法的实现流程示例,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S401中,在第一处理器进入空闲状态之前,统计第一处理器以外的每个处理器的中断处理函数链表的元素个数;
在步骤S402中,获取元素个数最多的中断处理函数链表;
在步骤S403中,判断中断处理函数链表是否非空,若非空,则执行步骤S404,若为空,则执行步骤S408;
在步骤S404中,从中断处理函数链表中获取一个处理函数,并将获取到的处理函数从中断处理函数链表中删除;
在步骤S405中,执行获取到的处理函数;
在步骤S406中,当处理函数执行完毕时,判断第一处理器当前是否有就绪任务,若是,则执行步骤S407,若否,则执行步骤S403;
在步骤S407中,执行就绪任务;
在步骤S408中,进入空闲状态。
在本发明实施例中,在第一处理器进入空闲状态之前,统计第一处理器以外的每个处理器的中断处理函数链表的元素个数,获取元素个数最多的中断处理函数链表,判断中断处理函数链表是否为空,若为空,则进入空闲状态,若非空,则从中断处理函数链表中获取一个处理函数,并将获取到的处理函数从中断处理函数链表中删除,执行获取到的处理函数,当处理函数执行完毕时,判断第一处理器当前是否有就绪任务,若是,则执行就绪任务,否则继续从中断处理函数链表获取处理函数并执行,从而在现有技术基础上,提供了一种新的中断下半部处理时机,有效利用系统空闲的处理器资源,降低了中断下半部得不到及时处理的风险,提高了中断处理效率。
实施例三:
图5示出了本发明实施例三提供的中断处理装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
链表获取单元51,用于在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表;
条件判断单元52,用于判断中断处理函数链表是否满足预设条件;
函数执行单元53,用于若中断处理函数链表满足预设条件,则从中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从中断处理函数链表中删除;
任务判断单元54,用于若处理函数执行完毕,则判断当前是否有就绪任务;以及
任务执行单元55,用于若当前有就绪任务,则执行就绪任务,否则,触发条件判断单元执行判断中断处理函数链表是否满足预设条件的步骤。
优选地,第二处理器为第一处理器以外的繁忙程度最高的处理器。
优选地,链表获取单元还包括:
统计第一处理器以外的每个处理器的中断处理函数链表的元素个数;
获取元素个数最多的中断处理函数链表,其中,与元素个数最多的中断处理函数链表对应的处理器为第二处理器。
优选地,预设条件为中断处理函数链表非空。
优选地,该装置还包括:
空闲进入单元,用于若不满足预设条件,则进入空闲状态。
在本发明实施例中,中断处理装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。中断处理装置的各单元的具体实施方式可参考前述方法实施例的描述,在此不再赘述。
实施例四:
图6示出了本发明实施例四提供的电子设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的电子设备6包括多个处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62。该处理器60执行计算机程序62时实现上述各方法实施例中的步骤,例如图3所示的步骤S301至S305。或者,处理器60执行计算机程序62时实现上述各装置实施例中各单元的功能,例如图5所示单元51至55的功能。
在本发明实施例中,在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表,判断中断处理函数链表是否满足预设条件,若满足,则从中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从中断处理函数链表中删除,若处理函数执行完毕,则判断当前是否有就绪任务,若是,则执行就绪任务,否则,跳转至判断中断处理函数链表是否满足预设条件的步骤,从而提高了中断下半部处理的及时性,进而提高了中断处理效率。
实施例五:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图3所示的步骤S301至S305。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图5所示单元51至55的功能。
在本发明实施例中,在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表,判断中断处理函数链表是否满足预设条件,若满足,则从中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从中断处理函数链表中删除,若处理函数执行完毕,则判断当前是否有就绪任务,若是,则执行就绪任务,否则,跳转至判断中断处理函数链表是否满足预设条件的步骤,从而提高了中断下半部处理的及时性,进而提高了中断处理效率。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种中断处理方法,其特征在于,所述方法包括下述步骤:
在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表;
判断所述中断处理函数链表是否满足预设条件;
若满足,则从所述中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从所述中断处理函数链表中删除;
若所述处理函数执行完毕,则判断当前是否有就绪任务;
若是,则执行所述就绪任务,否则,跳转至判断所述中断处理函数链表是否满足预设条件的步骤。
2.如权利要求1所述的方法,其特征在于,所述第二处理器为所述第一处理器以外的繁忙程度最高的处理器。
3.如权利要求2所述的方法,其特征在于,所述获取第二处理器的中断处理函数链表的步骤,包括:
统计第一处理器以外的每个处理器的中断处理函数链表的元素个数;
获取元素个数最多的中断处理函数链表,其中,与所述元素个数最多的中断处理函数链表对应的处理器为所述第二处理器。
4.如权利要求1所述的方法,其特征在于,所述预设条件为所述中断处理函数链表非空。
5.如权利要求1所述的方法,其特征在于,所述判断所述中断处理函数链表是否满足预设条件的步骤之后,包括:
若不满足预设条件,则进入空闲状态。
6.一种中断处理装置,其特征在于,所述装置包括:
链表获取单元,用于在第一处理器进入空闲状态之前,获取第二处理器的中断处理函数链表;
条件判断单元,用于判断所述中断处理函数链表是否满足预设条件;
函数执行单元,用于若所述中断处理函数链表满足预设条件,则从所述中断处理函数链表中获取一个处理函数执行,并将获取到的处理函数从所述中断处理函数链表中删除;
任务判断单元,用于若所述处理函数执行完毕,则判断当前是否有就绪任务;以及
任务执行单元,用于若当前有就绪任务,则执行所述就绪任务,否则,触发条件判断单元执行判断所述中断处理函数链表是否满足预设条件的步骤。
7.如权利要求6所述的装置,其特征在于,所述第二处理器为所述第一处理器以外的繁忙程度最高的处理器。
8.如权利要求7所述的装置,其特征在于,所述链表获取单元还包括:
元素统计单元,用于统计第一处理器以外的每个处理器的中断处理函数链表的元素个数;
链表获取子单元,用于获取元素个数最多的中断处理函数链表,其中,与所述元素个数最多的中断处理函数链表对应的处理器为所述第二处理器。
9.一种电子设备,包括存储器、多个处理器以及存储在所述存储器中并可在至少一个所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110083696.9A CN112783626B (zh) | 2021-01-21 | 2021-01-21 | 中断处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110083696.9A CN112783626B (zh) | 2021-01-21 | 2021-01-21 | 中断处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783626A true CN112783626A (zh) | 2021-05-11 |
CN112783626B CN112783626B (zh) | 2023-12-01 |
Family
ID=75758384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110083696.9A Active CN112783626B (zh) | 2021-01-21 | 2021-01-21 | 中断处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783626B (zh) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988005943A1 (en) * | 1987-02-06 | 1988-08-11 | American Telephone & Telegraph Company | Multiprocessing method and arrangement |
US6189065B1 (en) * | 1998-09-28 | 2001-02-13 | International Business Machines Corporation | Method and apparatus for interrupt load balancing for powerPC processors |
JP2001331461A (ja) * | 2000-05-19 | 2001-11-30 | Nec Corp | マルチプロセッサシステム及びプロセッサスケジュリング方法 |
US20050283556A1 (en) * | 2004-06-18 | 2005-12-22 | Parekh Harshadrai G | Transfer of waiting interrupts |
US20060112208A1 (en) * | 2004-11-22 | 2006-05-25 | International Business Machines Corporation | Interrupt thresholding for SMT and multi processor systems |
JP2007034910A (ja) * | 2005-07-29 | 2007-02-08 | Fujitsu Ten Ltd | マルチcpuシステム及びスケジューラ |
US20070124523A1 (en) * | 2005-11-28 | 2007-05-31 | Hitachi, Ltd. | Heterogeneous multiprocessor system and OS configuration method thereof |
WO2010020159A1 (zh) * | 2008-08-19 | 2010-02-25 | 中兴通讯股份有限公司 | 多核处理器中断负载均衡方法和装置 |
US8180973B1 (en) * | 2009-12-23 | 2012-05-15 | Emc Corporation | Servicing interrupts and scheduling code thread execution in a multi-CPU network file server |
CN102521047A (zh) * | 2011-11-15 | 2012-06-27 | 重庆邮电大学 | 实现多核处理器间中断负载均衡的方法 |
CN102779075A (zh) * | 2012-06-28 | 2012-11-14 | 华为技术有限公司 | 一种在多处理器核系统中进行调度的方法、装置及系统 |
CN102955555A (zh) * | 2011-08-19 | 2013-03-06 | 苏州简约纳电子有限公司 | 一种多线程处理方法和装置 |
CN103279331A (zh) * | 2013-05-31 | 2013-09-04 | 中国电子科技集团公司第十五研究所 | Android系统多任务并发处理方法及装置 |
CN105528330A (zh) * | 2014-09-30 | 2016-04-27 | 杭州华为数字技术有限公司 | 负载均衡的方法、装置、丛集和众核处理器 |
US20160139655A1 (en) * | 2014-11-17 | 2016-05-19 | Mediatek Inc. | Energy Efficiency Strategy for Interrupt Handling in a Multi-Cluster System |
US20160342543A1 (en) * | 2015-05-21 | 2016-11-24 | Red Hat Israel, Ltd. | Sharing message-signaled interrupt vectors in multi-processor computer systems |
CN106453573A (zh) * | 2016-10-20 | 2017-02-22 | 凌云天博光电科技股份有限公司 | 一种http服务器中cgi请求的处理方法和系统 |
CN107870818A (zh) * | 2017-10-19 | 2018-04-03 | 福州瑞芯微电子股份有限公司 | 多核处理器中断动态响应方法及存储介质 |
CN110825506A (zh) * | 2019-10-31 | 2020-02-21 | 湖南智领通信科技有限公司 | 一种嵌入式操作系统的任务调度方法、装置及存储介质 |
US20200125395A1 (en) * | 2018-10-23 | 2020-04-23 | International Business Machines Corporation | Automated switching between interrupt context i/o processing and thread context i/o processing |
CN111324432A (zh) * | 2020-01-21 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 处理器调度方法、装置、服务器及存储介质 |
-
2021
- 2021-01-21 CN CN202110083696.9A patent/CN112783626B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988005943A1 (en) * | 1987-02-06 | 1988-08-11 | American Telephone & Telegraph Company | Multiprocessing method and arrangement |
US6189065B1 (en) * | 1998-09-28 | 2001-02-13 | International Business Machines Corporation | Method and apparatus for interrupt load balancing for powerPC processors |
JP2001331461A (ja) * | 2000-05-19 | 2001-11-30 | Nec Corp | マルチプロセッサシステム及びプロセッサスケジュリング方法 |
US20050283556A1 (en) * | 2004-06-18 | 2005-12-22 | Parekh Harshadrai G | Transfer of waiting interrupts |
US20060112208A1 (en) * | 2004-11-22 | 2006-05-25 | International Business Machines Corporation | Interrupt thresholding for SMT and multi processor systems |
JP2007034910A (ja) * | 2005-07-29 | 2007-02-08 | Fujitsu Ten Ltd | マルチcpuシステム及びスケジューラ |
US20070124523A1 (en) * | 2005-11-28 | 2007-05-31 | Hitachi, Ltd. | Heterogeneous multiprocessor system and OS configuration method thereof |
WO2010020159A1 (zh) * | 2008-08-19 | 2010-02-25 | 中兴通讯股份有限公司 | 多核处理器中断负载均衡方法和装置 |
US8180973B1 (en) * | 2009-12-23 | 2012-05-15 | Emc Corporation | Servicing interrupts and scheduling code thread execution in a multi-CPU network file server |
CN102955555A (zh) * | 2011-08-19 | 2013-03-06 | 苏州简约纳电子有限公司 | 一种多线程处理方法和装置 |
CN102521047A (zh) * | 2011-11-15 | 2012-06-27 | 重庆邮电大学 | 实现多核处理器间中断负载均衡的方法 |
CN102779075A (zh) * | 2012-06-28 | 2012-11-14 | 华为技术有限公司 | 一种在多处理器核系统中进行调度的方法、装置及系统 |
CN103279331A (zh) * | 2013-05-31 | 2013-09-04 | 中国电子科技集团公司第十五研究所 | Android系统多任务并发处理方法及装置 |
CN105528330A (zh) * | 2014-09-30 | 2016-04-27 | 杭州华为数字技术有限公司 | 负载均衡的方法、装置、丛集和众核处理器 |
US20160139655A1 (en) * | 2014-11-17 | 2016-05-19 | Mediatek Inc. | Energy Efficiency Strategy for Interrupt Handling in a Multi-Cluster System |
US20160342543A1 (en) * | 2015-05-21 | 2016-11-24 | Red Hat Israel, Ltd. | Sharing message-signaled interrupt vectors in multi-processor computer systems |
CN106453573A (zh) * | 2016-10-20 | 2017-02-22 | 凌云天博光电科技股份有限公司 | 一种http服务器中cgi请求的处理方法和系统 |
CN107870818A (zh) * | 2017-10-19 | 2018-04-03 | 福州瑞芯微电子股份有限公司 | 多核处理器中断动态响应方法及存储介质 |
US20200125395A1 (en) * | 2018-10-23 | 2020-04-23 | International Business Machines Corporation | Automated switching between interrupt context i/o processing and thread context i/o processing |
CN110825506A (zh) * | 2019-10-31 | 2020-02-21 | 湖南智领通信科技有限公司 | 一种嵌入式操作系统的任务调度方法、装置及存储介质 |
CN111324432A (zh) * | 2020-01-21 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 处理器调度方法、装置、服务器及存储介质 |
Non-Patent Citations (5)
Title |
---|
SALMAN A. ALQAHTANI等: ""Performance Evaluation of Handling Interrupts Schemes in Gigabit Networks"", 《IEEE》 * |
ZHE JIANG等: ""BlueVisor: A Scalable Real-Time Hardware Hypervisor for Many-Core Embedded Systems"", 《IEEE》 * |
丁杰: ""面向外设管理的微处理器硬件多线程扩展"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
彭建章: ""非阻塞算法与多进程网络程序优化研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
沈雪峰: ""多CPU系统的中断机制"", 中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112783626B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9448864B2 (en) | Method and apparatus for processing message between processors | |
JP4694595B2 (ja) | スリープキュー管理 | |
US8612986B2 (en) | Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value | |
JP3987384B2 (ja) | 実行キュー管理 | |
US9378047B1 (en) | Efficient communication of interrupts from kernel space to user space using event queues | |
US20030233485A1 (en) | Event queue | |
CN109656733B (zh) | 智能调度多ocr识别引擎的方法及设备 | |
US8528006B1 (en) | Method and apparatus for performing real-time commands in a non real-time operating system environment | |
US10271326B2 (en) | Scheduling function calls | |
CN112764904A (zh) | 基于多任务系统中防止低优先级任务饿死的方法 | |
EP1693743A2 (en) | System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock | |
CN113360263B (zh) | 一种任务处理方法、系统及相关设备 | |
CN114461365A (zh) | 一种进程调度处理方法、装置、设备和存储介质 | |
CN112346836B (zh) | 共享计算资源的抢占方法、装置、用户设备及存储介质 | |
CN112783626B (zh) | 中断处理方法、装置、电子设备及存储介质 | |
CN117573355A (zh) | 任务处理方法、装置、电子设备以及存储介质 | |
CN115981893A (zh) | 消息队列任务处理方法、装置、服务器及存储介质 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
JP2009048358A (ja) | 情報処理装置及びスケジューリング方法 | |
KR101725408B1 (ko) | 실시간 운영체제의 태스크 스케줄링 방법 | |
CN117687763B (zh) | 高并发数据弱优先处理方法、装置、电子设备及存储介质 | |
CN112579299B (zh) | 资源调度方法、电子设备及存储介质 | |
US9665508B2 (en) | Method and an apparatus for converting interrupts into scheduled events | |
JP4003113B2 (ja) | 電話交換におけるマルチスレッドの制御方法 | |
CN118260033A (zh) | 一种任务调度方法及异构处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |