CN111831412A - 中断处理方法、装置、存储介质及电子设备 - Google Patents
中断处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111831412A CN111831412A CN202010627299.9A CN202010627299A CN111831412A CN 111831412 A CN111831412 A CN 111831412A CN 202010627299 A CN202010627299 A CN 202010627299A CN 111831412 A CN111831412 A CN 111831412A
- Authority
- CN
- China
- Prior art keywords
- processor core
- processor
- thread
- target
- load value
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 129
- 238000000034 method Methods 0.000 claims abstract description 79
- 230000003993 interaction Effects 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 17
- 230000003068 static effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 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
-
- 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/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种中断处理方法、装置、存储介质及电子设备。本申请实施例当接收到中断的处理请求时,获取所述多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;根据每个所述处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;将所述中断分配至所述目标处理器核心进行处理。本申请实施例通过根据预设类别线程的参考负载值选取目标处理器核心,使得中断被及时地分配至目标处理器核心进行处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种中断处理方法、装置、存储介质及电子设备。
背景技术
中断是一种使中央处理器(Central Processing Unit,CPU)中止正在执行的程序而转去处理特殊事件的操作。目前的中断处理方式是将中断分配给指定的处理器进行处理。
然而,当出现大量中断需要处理时,这种处理方式会出现中断的处理时间过长的问题,导致中断的处理效率降低。
发明内容
本申请实施例提供了一种中断处理方法、装置、存储介质及电子设备,可以有效地提高中断的处理效率。
第一方面,本申请实施例提供了一种中断处理方法,应用于多核心处理器,包括:
当接收到中断的处理请求时,获取所述多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;
根据每个所述处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;
将所述中断分配至所述目标处理器核心进行处理。
第二方面,本申请实施例提供了一种中断处理装置,应用于多核心处理器,包括:
获取模块,用于当接收到中断的处理请求时,获取所述多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;
选取模块,用于根据每个所述处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;
处理模块,用于将所述中断分配至所述目标处理器核心进行处理。
第三方面,本申请实施例提供的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行本申请任一实施例提供的中断处理方法。
第四方面,本申请实施例提供的电子设备,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行本申请任一实施例提供的中断处理方法。
本申请实施例当接收到中断的处理请求时,获取每个处理器核心中预设类别线程所对应的参考负载值;根据所述参考负载值从所述多个处理器核心中选取目标处理器核心;将所述中断分配至所述目标处理器核心进行处理。本申请实施例通过根据预设类别线程的参考负载值选取目标处理器核心,使得中断被及时地分配至目标处理器核心进行处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的中断处理方法的场景示意图。
图2是本申请实施例提供的中断处理方法的流程图。
图3是本申请实施例提供的处理器核心选取策略的流程示意图。
图4是本申请实施例提供的中断处理方法的又一流程图。
图5是本申请实施例提供的中断处理装置的模块示意图。
图6是本申请实施例提供的电子设备的结构示意图。
图7是本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
本申请实施例提供一种中断处理方法,该中断处理方法的执行主体可以是本申请实施例提供的中断处理装置,或者集成了该中断处理装置的电子设备,其中该中断处理装置可以采用硬件或者软件的方式实现。其中,电子设备可以是智能手机、平板电脑、掌上电脑(PDA,Personal Digital Assistant)等。以下进行具体分析说明。
比如,如图1所示,当电子设备接收到中断的处理请求时,可以获取电子设备的多核处理器中每个处理器核心的预设类别线程所对应的参考负载值,然后,根据该参考负载值从该多个处理器核心中选取目标处理器核心,之后将该中断分配至该目标处理器核心进行处理。本申请实施例中,通过根据预设类别线程所对应的参考负载值来选取处理中断的处理器核心,可以避免预设类别线程被中断频繁打断,保证了预设类别线程的处理效率的同时,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
本申请实施例提供一种中断处理方法,如图2所示,图2为本申请实施例提供的中断处理方法的流程示意图,该中断处理方法可以包括:
在步骤101中,当接收到中断的处理请求时,获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值。
其中,预设类别线程所对应的参考负载值是指处理器核心在预设时间内所处理的预设类别线程的平均线程数。相应的,处理器核心的总负载值是指处理器核心在预设时间内所处理的平均线程数。
在一些实施例中,当接收到中断的处理请求之前,可以持续地统计每个处理器核心的总负载值、以及预设类别线程所对应的参考负载值,并存储这些数据。该数据可以存储在本地,或者是服务器,又或者是云服务器中,具体可以根据实际需求进行设置。
在一些实施例中,当接收到在中断的处理请求时,从存储的数据中获取每个处理器核心中预设类别线程所对应的参考负载值。
由于本申请实施例中可以通过事先统计每个处理器核心中预设类别线程所对应的参考负载值并进行存储,当接收到中断时,可以直接从相应的数据中获取预设类别线程所对应的参考负载值,减少了数据的获取时间,有效地提高了中断处理方法的处理效率。
其中,在本申请实施例中,根据线程的重要程度的不同,可以将线程分为多个类别。
比如,在一实施例中,可以根据线程是运行在前台还是运行在后台,将线程分成前台线程和后台线程。
又比如,在另一实施例中,从线程的运行情况是否会影响到用户体验的角度出发,可以将系统中的线程划分为预设类别线程和非预设类别线程。具体地,可以将系统中的线程分为第一类线程和第二类线程,其中,与用户体验紧密相关的线程记为Ux(UserExperience,用户体验)线程,作为第一类线程(即预设类别线程);将除了Ux线程之外的其他线程记为非Ux线程,作为第二类线程(即非预设类别线程)。
又比如,在另一实施例中,从线程的运行情况是否会影响到用户体验的角度出发,也可以将系统中的线程划分为预设类别线程,第一非预设类别线程,第二非预设类别线程。具体地,将系统中的线程分为第一类线程、第二类线程和第三类线程,其中,与用户体验紧密相关的线程记为Ux(User Experience,用户体验)线程,作为第一类线程(即预设类别线程);将除了Ux线程之外的其他线程中的前台线程,作为第二类线程(即第一非预设类别线程);将除了Ux线程之外的其他线程中的后台线程,作为第三类线程(即第二非预设类别线程)。
接下来,以将系统中的线程分为第一类线程和第二类线程为例,对Ux线程的识别与标记的方式进行说明。
本申请实施例中,电子设备的操作系统可以是基于Linux内核的系统,例如,安卓操作系统等。电子设备上运行着系统进程和应用程序的进程,线程是进程的一条执行路径,是程序执行时的最小单位。一个进程可以有多个线程,但至少有一个线程。
对于内核来说,比如在CPU调度时,都是具体到某个线程的。进程内有一个主线程,它也会创建出很多子线程来协助工作。比如一个内容交互应用程序的进程,它会创建一个主线程来执行代码,执行途中也会创建其它子线程来协助运行各部分的任务代码。
本申请实施例中,从线程的运行情况是否会影响到用户体验的角度出发,将那些直接或者间接地影响到用户体验的线程标记出来。
执行用户交互事件中相关任务的线程是否能够流畅运行决定着是否会在用户交互事件中产生用户可感知的卡顿,故确定出用于执行用户交互事件中相关任务的目标线程,并将这些与用户体验紧密相关的线程记为Ux(user experience,用户体验)线程,即第一类线程。本申请实施例中,将除Ux线程之外的线程记为第二类线程。第二类线程的运行情况一般不会影响用户体验,或者对用户体验影响较小。
其中,电子设备的系统架构至少包括应用框架(framework)层和内核(kernel)层,本申请实施例,从应用框架层和内核层的角度对Ux线程进行识别和标记,例如,应用框架层为一些直接执行用户交互事件中相关任务的线程添加预设标签,以将这些线程标记为静态Ux线程,内核层将一些间接地影响到用户交互事件中相关任务执行的线程标记为动态Ux线程。
本申请实施例中的进程包括系统级进程和应用级进程。由于产生用户可感知的界面的卡顿的场景多是相对于运行在前台的进程来说的。因此,本申请实施例的方案中,“确定出用于执行用户交互事件中相关任务的目标线程”,包括:在检测到有进程切换到前台运行时,先确定该前台进程。在确定前台进程后,从该前台进程的线程中确定出用于执行用户交互事件中相关任务的线程,作为目标线程。
例如,在一实施例中,“从前台进程的线程中确定出用于执行用户交互事件中相关任务的目标线程,并将目标线程标记为第一类线程”包括:从前台进程的线程中识别出用于执行用户交互事件中相关任务的第一预设线程,作为目标线程;为目标线程添加预设标签,以将线程标记为第一类线程。
例如,上述第一预设线程包括进程运行时创建的一些用于直接执行用户交互事件的相关任务的线程,如UI(user interface,用户界面)线程,Render(渲染)线程,GL线程,用户输入事件的分发线程,用户输入事件的检测线程等。这些线程是否能够流畅运行决定着是否会在用户与该进程的交互界面中产生用户可感知的卡顿。
比如,用户使用聊天软件与某一好友聊天,用户在对话框输入文字,电子设备通过服务器将用户输入的文字发送至该好友的电子设备。在这次交互事件中,需要UI线程、Render线程、用户输入事件的分发线程、用户输入事件的检测线程等线程共同工作,以完成本次用户交互事件,其中,每一个线程的运行都需要系统为其分配资源。因此,在检测到该聊天软件在前台运行时,识别出这些线程,将其标记为Ux线程。
其中,第一预设线程一般是应用级线程,这些线程可以是通过对实际的卡顿场景进行分析来确定。比如,在测试中,如果某一用户交互场景下发生了应用卡顿,通过对该场景分析发现卡顿现象是某个线程处理任务太慢导致的,则可以认为该线程是用于执行用户交互事件中相关任务的,该线程的运行与用户体验紧密相关,可以将该线程作为第一预设线程。
基于此,可以通过对各种可能的卡顿场景进行测试,记录这些导致卡顿出现的线程。电子设备中存储这些第一预设线程的相关信息,当进程切换到前台运行时,将该进程下的属于预先记录的第一预设线程的线程都标记为Ux线程。
可以理解的是,对于电子设备来说,存储的第一预设线程的相关信息并不是不可修改的,当进行系统升级时,可以对第一预设线程的相关信息进行更新。
此外,在另一实施例中,该方法还包括:当检测到有第二预设线程创建时,将创建的第二预设线程标记为第一类线程,其中,第二预设线程为系统级线程。
由于在执行用户交互事件的过程中,除了应用级线程之外,可能还涉及到一些系统级的线程来完成任务,系统框架层也需要将这些系统级线程标记为Ux线程。一般这些线程在系统启动时就会创建,因此,可以在检测到系统启动时,识别出这些线程并进行标记,比如,Surfaceflinger线程、系统动画线程等。或者,在系统运行过程中,如果检测到有新的系统进程的线程创建并用来执行用户交互事件中相关任务,系统框架层也将这些线程标记为Ux线程。比如,SystemUI线程。其中,第二预设线程也可以通过对实际的卡顿场景进行分析来确定。比如,在测试中,如果某一用户交互场景下发生了应用卡顿,通过对该场景分析发现卡顿现象是某个系统级线程处理任务太慢导致的,则可以认为该系统级线程是用于执行用户交互事件中相关任务的,该系统级线程的运行与用户体验紧密相关,可以将该系统级线程作为第二预设线程。电子设备中存储这些第二预设线程的相关信息,如果检测到系统创建了这些线程,则将其标记为Ux线程。
其中,预设标签可以为Ux标签,其添加方式如下:Linux使用task_struct结构体描述和记录线程,每个线程都有对应的task_struct结构体。task_struct中记录了线程的名称、标识符、状态、优先级、内存指针、上下文数据等属性信息。因此,应用框架层可以在task_struct结构体中增加对应的Ux flag成员,以将前台进程的UI线程、Render线程、GL线程等执行用户交互事件中相关任务的线程,通过标记Ux flag位,使内核层能够识别该线程的任务属性。
需要说明的是,上述几种静态Ux线程仅为举例说明,并不局限于此,只要是直接地执行用户交互事件中相关任务的线程,使得其运行情况直接地影响到用户体验的线程,都可以将其标记为静态Ux线程。对于应用框架层来说,在检测到新创建的线程是用来执行用户交互事件,或者检测到某些常驻系统级线程是用以处理用户交互事件时,为这些线程添加Ux标签,以将其标记为静态Ux线程。
在另一实施例中,“从前台进程的线程中确定出用于执行用户交互事件中相关任务的目标线程,并将目标线程标记为第一类线程”还包括:在前台进程的运行过程中,当检测到有新线程创建时,确定新创建的线程是否用于执行用户交互事件中的相关任务;当新创建的线程用于执行用户交互事件中的相关任务时,将新创建的线程标记为第一类线程。
前台进程在运行过程中,如果有用户交互事件发生,除了上述应用级的第一预设线程和系统级的第二预设线程之外,还可能会有一些临时创建的任务线程,这些任务线程的运行也会直接影响到是否会在用户与该进程的交互界面中产生用户可感知的卡顿。因此,应用框架层会将这些线程也标记为Ux线程,以优化系统对该线程的资源分配。
其中,电子设备根据检测到的用户指令确定发生的用户交互事件。用户交互事件一般是指用户触发了某指令后,电子设备需要即时的对该指令进行响应,进行某种处理并将处理结果显示在界面上的情况。例如,用户使用电子设备观看视频、编辑短信、使用聊天软件、使用游戏软件、控制电子设备界面的切换、使用浏览浏览网页等,都属于用户交互事件。比如,用户使用聊天软件与某一好友聊天,用户在对话框输入文字,电子设备通过服务器将用户输入的文字发送至该好友的电子设备。在这个过程中,电子设备需要调度多个线程以完成本次用户交互事件,从该用户交互事件的开始到完成的整个过程中,进程创建的用来完成这次用户交互事件的线程都可以认为是与用户体验相关的线程。
在另一实施例中,为目标线程添加预设标签之后,该方法还包括:若前台进程为应用进程,则在检测到前台进程切换至后台运行时,删除第一预设线程的预设标签。当前台进程切换到后台运行时,该进程的运行情况已经与用户体验无关,其线程的重要程度也有所下降,因此,可以将该进程对应的第一预设线程的Ux标记删除,将这些Ux线程恢复为普通线程。
此外,对于那些在用户交互事件中临时创建的任务线程来说,在执行完对应的任务后就会被销毁,其自然会丢失掉Ux标签。而对于系统级的第二预设线程来说,即使发生了进程的前后台切换,这些线程始终与用户体验相关,所以始终保有Ux标签。
通过上述实施例,框架层识别出那些直接影响到用户体验的线程并为其添加标记。需要说明的是,这里的第一类线程和第二类线程中的“第一类”和“第二类”,仅仅是为了区分线程是否具有Ux标签,而不是说将系统中的线程只划分为这两种类别。本申请的中断处理方案是从线程是否具有Ux标签这一角度出发的,如果线程同时还具有其他属性,则在执行技术方案时,考虑了是否具有Ux标签这一属性后,仍然会考虑其他属性。
上述实施例介绍了静态Ux线程的识别。还有一些线程虽然并没有直接地执行用户交互事件的相关任务,但是这些线程的运行情况也会影响到静态Ux线程的运行情况,进而间接地影响到用户交互事件的相关任务的执行。也就是说,这些线程并不是总是与用户体验相关,但是这些线程在执行过程的某段时间内,可能通过资源约束与静态Ux线程产生关联,因此,在一些实施例中,为了进一步地减少交互场景下的卡顿现象,内核层将这些与静态Ux线程之间有约束关系的线程也标记为Ux线程。而一旦这种约束关系结束,就会将该线程恢复至非Ux线程。本申请实施例中将这类线程定义为动态Ux线程。其中,具体的约束关系包括但不限于进程间通信、线程间通信或者持有临界资源等。比如,静态Ux线程通过进程间通信请求的普通线程,静态Ux线程通过某种线程间通信方式请求的普通线程,持有静态Ux线程需要的等待信号量、读写信号量、互斥锁等临界资源的普通线程等,本申请实施例中将这类线程标记为动态Ux线程。
基于此,在一些实施例中,该方法还包括:对第一类线程的运行状态进行检测;当检测到有第一类线程进入阻塞状态,则确定与进入阻塞状态的第一类线程之间有约束关系的关联线程;为关联线程添加预设标签,以将关联线程标记为第一类线程。
在一些实施例中,将关联线程标记为第一类线程之后,还包括:当检测到约束关系解除时,删除关联线程的预设标签。
其中,关于线程的阻塞状态,在内核层面一般会区分为D状态(Uninterruptablesleep状态,不可中断的睡眠状态)和S状态(interruptible sleep状态,可中断的睡眠状态),比如,线程发起IO请求但得不到满足,就进入D状态;线程发起同步Binder请求,就会进入S状态。线程进入这些状态一般都是因为这些都是线程任务执行途中因为某些原因或者逻辑,需要主动或者被动地放弃CPU资源。
该实施例中,内核层对静态Ux线程的状态进行检测,当检测到Ux线程进入到堵塞状态时,确定出与进入堵塞状态的Ux线程之间具有约束关系的关联线程,如果这些关联线程没有及时分配到资源,比如IO资源,而导致运行受阻,则由于关联线程的运行缓慢又会导致该Ux线程长时间处于阻塞状态,因此,为了避免该Ux线程长时间处于阻塞状态,内核层会将识别出的关联线程也标记为Ux线程,以提高其IO处理效率,保证其及时执行,进而快速解除该Ux线程的阻塞状态。
其中,内核在确定线程的类别时,可以获取线程中携带的标签,并根据所述标签确定线程对应的预设类别,则该方法可以包括:
获取每个该处理器核心中运行的线程的预设标签;根据该预设标签确定每个该处理器核心中运行的线程的类别。
其中,内核在确定线程的类别时,该方法可以包括:
确定出用于执行用户交互事件中相关任务的目标线程;为所述目标线程添加预设标签,以将所述目标线程标记为预设类别线程。
此外,本申请实施例可以应用于多核心处理器。在ARM标准的架构中,CPU核心的算力是存在差异的,一般会将算力较强的核心称为大核,算力较弱的核心称为小核。比如,对于八核心处理器来说,一般具有四个大核,四个小核。需要说明的是,上述核心数量仅为举例说明,本申请实施例对于处理器的核心数量并不做具体限制,当至少有两个核心时,都可以使用本申请实施例的方案。如果电子设备的处理器是多核心处理器,则每一个处理器核心可以当作一个独立的处理单元。比如,如果电子设备为八核处理器,则每一个核心为一个独立的处理单元。
在步骤102中,根据每个该处理器核心的参考负载值从多个处理器核心中选取目标处理器核心。
其中,在一些实施例中,可以检测多核心处理器的工作模式,再根据工作模式、以及预设类别线程所对应的参考负载值选取目标处理器核心,“根据该参考负载值从该多个处理器核心中选取目标处理器核心”的方法可以包括:
检测该多核心处理器的工作模式;
根据该工作模式确定处理器核心的目标选取策略;
根据该目标选取策略以及每个该处理器核心的参考负载值从该多个处理器核心中选取目标处理器核心。
其中,工作模式是指处理器的运行状态。当处理器为多核心处理器时,可以是指每个处理器核心的运行状态。工作模式可以有多种,比如可以有性能模式(Performancemode),在该模式下处理器处于工作状态,能够有效地提升处理性能;又比如,还可以有节省功耗模式(Power-save mode),在该模式下一部分处理器处于空闲状态,其余的处理器处于工作状态,能够有效地降低功耗。
其中,处理器核心的选取策略可以包括多种。该选取策略与处理器的工作模式相关。
在一些实施例中,可以包括两种选取策略。比如,当处理器的工作模式为性能模式时,由于该模式能提高处理器性能,当预设类别线程为用户相关的Ux线程时,为了提高用户的使用体验,避免在处理中断的时候频繁打断用户相关的Ux进程处理,使得Ux线程更加快速地运行完成,则可以选择第一选取策略。第一选取策略是根据预设类别线程的参考负载值选择处理器核心。具体地,可以选择参考负载值最小的处理器核心作为目标处理器核心。在该策略下,由于选择了处理Ux线程较少的处理器核心来处理中断,不仅Ux线程可以得到快速处理,加速了用户相关的进程运行,有效地提升了用户的使用体验,而且中断也能够得到快速的处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
又比如,当处理器的工作模式为节省功耗模式时,由于该模式能降低功耗,当预设类别线程为用户相关的Ux线程时,则可以将中断分配至预设处理器核心中进行处理,并避免将用户相关的Ux线程分配至处理中断的处理器核心中,在降低功耗的同时提高用户的使用体验。而且由于中断由预设处理器进行处理,中断也能够得到快速的处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。具体地,可以选择第二选取策略,第二选取策略是选择一个预设处理器核心,或者从多个预设处理器核心中选取一个作为目标处理器核心。其中,由于预设处理器核心用于处理中断,则预设类别线程避免分配到处理中断的预设处理器核心,因此该一个预设处理器核心或者多个预设处理器核心中,预设类别线程对应的参考负载值要小于其他处理器核心。
则在一些实施例中,该“根据该目标选取策略以及每个该处理器核心的参考负载值从该多个处理器核心中选取目标处理器核心”,可以包括:
当该目标选取策略为第一选取策略时,选取该参考负载值最小的处理器核心作为目标处理器核心;或者,
当该目标选取策略为第二选取策略时,选取预设处理器核心作为目标处理器核心,其中该预设处理器核心中预设类别线程所对应的参考负载值小于其他处理器核心。
其中,选取该参考负载值最小的处理器核心作为目标处理器核心的方式可以有多种,比如,可以选取一个参考负载值最小的处理器核心作为目标处理器核心,也可以选取多个参考负载值最小的处理器核心作为目标处理器核心。
比如,当接收到中断的处理请求时,可以获取每个处理器核心中预设类别线程所对应的参考负载值的同时,检测多核心处理器的工作模式。根据不同的工作模式确定不同的选取策略。当处理器的工作模式为性能模式时,则可以选择第一选取策略,第一选取策略是选择参考负载值最小的处理器核心作为目标处理器核心。当处理器的工作模式为节省功耗模式时,则可以选择第二选取策略,第二选取策略是选择一个预设处理器核心,或者从多个预设处理器核心中选取一个作为目标处理器核心。
由上所述,由于可以根据不同的处理器工作模式确定不同的处理器核心策略,当接收到中断的处理请求时,可以保证在相应的模式下能够有效提高Ux线程的处理效率,避免被中断频繁打断处理的进程,进而有效地提高了Ux进程的运行效率,给用户带来了更好的使用体验,而且中断也能够得到快速的处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
在一些实施例中,第一选取策略还可以包括多种方式,比如,当预设类别线程对应的参考负载值相等时,还可以根据每个处理器核心的总负载值进行进一步选取,以保证中断能够被快速处理,则“选取该参考负载值最小的处理器核心作为目标处理器核心”的方法,还可以包括:
当多个该处理器核心的参考负载值相等时,获取其中每个处理器核心的总负载值;
选取该总负载值最小的处理器核心作为目标处理器核心。
比如,当预设类别线程为用户相关的Ux线程时,每个处理器核心中Ux线程所对应的参考负载值均相等,则可以将中断分配至总负载值最小的处理器核心中进行处理,使得中断能够被快速处理,增强用户的使用体验。则可以获取每个处理器核心的总负载值,并选取该总负载值最小的处理器核心作为目标处理器核心。
又比如,当预设类别线程为用户相关的Ux线程时,在所有处理器核心中存在多个Ux线程所对应的参考负载值相等,且都是最小的,则可以从多个参考负载值相等的处理器核心中选取总负载值最小的处理器核心处理中断。
在一些实施例中,第一选取策略还可以包括多种方式,比如,如图3所示,可以先获取每个处理器核心的总负载值、以及每个处理器核心中预设类别线程所对应的参考负载值,先选取多个总负载值较轻的处理器核心,再从其中选取预设类别线程所对应的参考负载值最轻的作为目标处理器核心。通过该选取方式,当预设类别线程为用户相关的Ux线程时,即使存在大量的中断需要处理,也可以达到中断被快速处理地同时避免打断Ux线程的处理的目的,进而有效地提高中断和Ux线程的处理器效率,进一步增强用户的使用体验。
则“选取该参考负载值最小的处理器核心作为目标处理器核心”,可以包括:
从该多个处理器核心中选取总负载值小于预设阈值的处理器核心,得到候选处理器核心集合;
从该候选处理器核心集合中选取该参考负载值最小的处理器核心作为目标处理器核心。
其中,该预设阈值可以根据实际需求进行设置。
比如,可以从多个处理器核心中选取总负载值小于满载参考负载值50%的处理器核心,得到候选处理器核心集合。再从该集合中选取Ux线程所对应的参考负载值最小的作为目标处理器核心。
由上可知,本申请实施例通过根据不同的工作模式、每个处理器核心中预设类别线程所对应的参考负载值以及总负载值,从多个处理器核心中选取目标处理器核心。不仅可以使得中断得到快速地处理,而且能够保证Ux线程的处理不会被频繁打断,保证了Ux线程所对应的Ux进程的快速处理,使得其快速运行完,有效地提高了用户的使用体验。而且中断也能够得到快速的处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
在步骤103中,将该中断分配至该目标处理器核心进行处理。
当确定了目标处理器核心后,将中断分配至该处理器核心中进行处理。在一些实施例中,当工作模式处于节省功耗模式时,则预设类别线程避免分配到处理中断的预设处理器核心,以避免预设类别线程的处理由于中断的处理被频繁打断,提高中断的处理效率的同时也保证了用户的使用体验。
本申请实施例当接收到中断的处理请求时,获取每个处理器核心中预设类别线程所对应的参考负载值;根据所述参考负载值从所述多个处理器核心中选取目标处理器核心;将所述中断分配至所述目标处理器核心进行处理。本申请实施例通过根据预设类别线程的参考负载值选取目标处理器核心,使得中断被及时地分配至目标处理器核心进行处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
请参阅图4,图4为本申请实施例提供的中断处理方法的另一流程示意图,具体地,在本实施例中将以电子设备作为执行主体进行说明。该中断处理方法可以包括:
在步骤201中,当接收到中断的处理请求时,电子设备获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值。
比如,电子设备先确定出用于执行用户交互事件中相关任务的目标线程,然后为该目标线程添加预设标签,以将该目标线程标记为预设类别线程。
当在接收到中断的处理请求之前,电子设备根据预设标签确定线程的类型,然后可以持续地统计每个处理器核心的总负载值、以及Ux线程所对应的参考负载值。具体地,以预设类别线程为Ux线程为例,电子设备可以获取每个该处理器核心中运行的线程的预设标签,根据该预设标签确定每个该处理器核心中运行的线程的类别,并存储这些数据。当接收到在中断的处理请求时,从存储的数据中获取每个处理器核心中Ux线程所对应的参考负载值。
在步骤202中,电子设备检测该多核心处理器的工作模式,根据该工作模式确定处理器核心的目标选取策略。
比如,当电子设备检测到多核心处理器的工作模式是性能模式时,由于该模式能提高处理器性能,当预设类别线程为用户相关的Ux线程时,则可以选择第一选取策略。第一选取策略是根据Ux线程的参考负载值选择处理器核心。具体地,可以选择Ux线程参考负载值最小的处理器核心作为目标处理器核心。
又比如,当电子设备检测到多核心处理器的工作模式为节省功耗模式时,由于该模式能降低功耗,当预设类别线程为用户相关的Ux线程时,则可以将中断分配至预设处理器核心中进行处理,并避免将用户相关的Ux线程分配至处理中断的处理器核心中。具体地,可以选择第二选取策略,第二选取策略是选择一个预设处理器核心,或者从多个预设处理器核心中选取一个作为目标处理器核心。
在步骤203中,电子设备根据该目标选取策略以及每个该处理器核心的参考负载值从该多个处理器核心中选取目标处理器核心。
比如,当目标选取策略为第一选取策略时,可以选择Ux线程参考负载值最小的处理器核心作为目标处理器核心。
又比如,当每个处理器核心中Ux线程参考负载值都相等时,则进一步地,可以从存储的数据中获取每个处理器核心的总负载值,然后从中选择总负载值最小的作为处理中断的目标处理器核心。
还比如,当目标选取策略为第一选取策略时,还可以先获取每个处理器核心的总负载值,从中选取总负载值小于预设阈值的作为候选处理器核心,然后,再从其中选取Ux线程参考负载值最小的作为处理中断的目标处理器核心。
又比如,当目标处理器核心为第二选取策略时,选择一个预设处理器核心,或者从多个预设处理器核心中选取一个作为目标处理器核心。
在步骤204中,电子设备将该中断分配至该目标处理器核心进行处理。
比如,当确定了目标处理器核心后,将中断分配至该处理器核心中进行处理。
在一些实施例中,当工作模式处于节省功耗模式时,则Ux线程需要避免分配到该处理中断的预设处理器核心,以避免预设类别线程的处理由于中断的处理被频繁打断,提高中断的处理效率的同时也保证了用户的使用体验。
本申请实施例中当接收到中断的处理请求时,电子设备获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值,然后电子设备检测该多核心处理器的工作模式,根据该工作模式确定处理器核心的目标选取策略;电子设备根据该目标选取策略以及每个该处理器核心的参考负载值从该多个处理器核心中选取目标处理器核心;电子设备将该中断分配至该目标处理器核心进行处理。本申请实施例通过根据预设类别线程的参考负载值选取目标处理器核心,使得中断被及时地分配至目标处理器核心进行处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
为便于更好的实施本申请实施例提供的中断处理方法,本申请实施例还提供一种基于上述中断处理方法的装置。其中名词的含义与上述中断处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5,图5为本申请实施例提供的中断处理装置300的模块示意图。具体而言,该中断处理装置300,包括:获取模块301,选取模块302,处理模块303。
获取模块301,用于当接收到中断的处理请求时,获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;
选取模块302,用于根据每个该处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;
处理模块303,用于将该中断分配至该目标处理器核心进行处理。
在一些实施方式中,该选取模块302用于:检测该多核心处理器的工作模式;根据该工作模式确定处理器核心的目标选取策略;根据该目标选取策略以及每个该处理器核心的参考负载值从该多个处理器核心中选取目标处理器核心。
在一些实施方式中,该选取模块302具体用于:当该目标选取策略为第一选取策略时,选取该参考负载值最小的处理器核心作为目标处理器核心;或者,当该目标选取策略为第二选取策略时,选取预设处理器核心作为目标处理器核心,其中该预设处理器核心中预设类别线程所对应的参考负载值小于其他处理器核心。
在一些实施方式中,该选取模块302具体用于:当多个该处理器核心的参考负载值相等时,获取其中每个处理器核心的总负载值;选取该总负载值最小的处理器核心作为目标处理器核心。
在一些实施方式中,该选取模块302具体用于:从该多个处理器核心中选取总负载值小于预设阈值的处理器核心,得到候选处理器核心集合;从该候选处理器核心集合中选取该参考负载值最小的处理器核心作为目标处理器核心。
在一些实施方式中,该获取模块301具体用于:获取每个该处理器核心中运行的线程的预设标签;根据该预设标签确定每个该处理器核心中运行的线程的类别。
在一些实施方式中,该获取模块301具体用于:确定出用于执行用户交互事件中相关任务的目标线程;为该目标线程添加预设标签,以将该目标线程标记为预设类别线程。
由此可知,本申请实施例提供了一种中断处理装置,获取模块301用于当接收到中断的处理请求时,获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;选取模块302用于根据每个该处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;处理模块303用于将该中断分配至该目标处理器核心进行处理。本申请实施例通过根据预设类别线程的参考负载值选取目标处理器核心,使得中断被及时地分配至目标处理器核心进行处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
本申请实施例还提供一种电子设备400。请参阅图6,电子设备400包括多核处理器401以及存储器。其中,多核处理器401与存储器电性连接。
该处理器400是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器402内的计算机程序,以及调用存储在存储器402内的数据,执行电子设备400的各种功能并处理数据,从而对电子设备400进行整体监控。
该存储器402可用于存储软件程序以及模块,多核处理器401通过运行存储在存储器402的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供多核处理器401对存储器402的访问。
在本申请实施例中,电子设备400中的多核处理器401会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由多核处理器401运行存储在存储器402中的计算机程序,从而实现各种功能,如下:
当接收到中断的处理请求时,获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;
根据每个该处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;
将该中断分配至该目标处理器核心进行处理。
在一些实施例中,多核处理器401可以具体执行以下步骤:
检测该多核心处理器的工作模式;根据该工作模式确定处理器核心的目标选取策略;根据该目标选取策略以及每个该处理器核心的参考负载值从该多个处理器核心中选取目标处理器核心。
在一些实施例中,多核处理器401可以具体执行以下步骤:
当该目标选取策略为第一选取策略时,选取该参考负载值最小的处理器核心作为目标处理器核心;或者,当该目标选取策略为第二选取策略时,选取预设处理器核心作为目标处理器核心,其中该预设处理器核心中预设类别线程所对应的参考负载值小于其他处理器核心。
在一些实施例中,多核处理器401可以具体执行以下步骤:
当多个该处理器核心的参考负载值相等时,获取其中每个处理器核心的总负载值;选取该总负载值最小的处理器核心作为目标处理器核心。
在一些实施例中,多核处理器401可以具体执行以下步骤:
从该多个处理器核心中选取总负载值小于预设阈值的处理器核心,得到候选处理器核心集合;从该候选处理器核心集合中选取该参考负载值最小的处理器核心作为目标处理器核心。
在一些实施例中,多核处理器401可以具体执行以下步骤:
获取每个该处理器核心中运行的线程的预设标签;根据该预设标签确定每个该处理器核心中运行的线程的类别。
在一些实施例中,多核处理器401可以具体执行以下步骤:
确定出用于执行用户交互事件中相关任务的目标线程;为该目标线程添加预设标签,以将该目标线程标记为预设类别线程。
由上可知,本申请实施例的电子设备当接收到中断的处理请求时,获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;根据每个该处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;将该中断分配至该目标处理器核心进行处理。本申请实施例通过根据预设类别线程的参考负载值选取目标处理器核心,使得中断被及时地分配至目标处理器核心进行处理,即使出现大量中断需要处理时,也能够减少中断的处理时间,提高了中断的处理效率。
请一并参阅图7,在某些实施方式中,电子设备400还可以包括:显示器403、射频电路404、音频电路405以及电源406。其中,其中,显示器403、射频电路404、音频电路405以及电源406分别与多核处理器401电性连接。
该显示器403可以用于显示由用户输入的信息或提供给用户的信息以及各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示器403可以包括显示面板,在某些实施方式中,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、或者有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。
该射频电路404可以用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
该音频电路405可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。
该电源406可以用于给电子设备400的各个部件供电。在一些实施例中,电源406可以通过电源管理系统与多核处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管中未示出,电子设备400还可以包括摄像头、蓝牙模块等,在此不再赘述。
本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文该的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文该的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
本申请实施例还提供一种存储介质,该存储介质存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上述任一实施例中的中断处理方法,比如:当接收到中断的处理请求时,获取该多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;根据每个该处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;将该中断分配至该目标处理器核心进行处理。
在本申请实施例中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM)、或者随机存取记忆体(Random Access Memory,RAM)等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对本申请实施例的中断处理方法而言,本领域普通测试人员可以理解实现本申请实施例的中断处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如中断处理方法的实施例的流程。其中,该的存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。
对本申请实施例的中断处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,该存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种中断处理方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种中断处理方法,应用于多核心处理器,其特征在于,所述中断处理方法包括:
当接收到中断的处理请求时,获取所述多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;
根据每个所述处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;
将所述中断分配至所述目标处理器核心进行处理。
2.根据权利要求1所述的中断处理方法,其特征在于,所述根据每个所述处理器核心的参考负载值从多个处理器核心中选取目标处理器核心,包括:
检测所述多核心处理器的工作模式;
根据所述工作模式确定处理器核心的目标选取策略;
根据所述目标选取策略以及每个所述处理器核心的参考负载值从所述多个处理器核心中选取目标处理器核心。
3.根据权利要求2所述的中断处理方法,其特征在于,所述根据所述目标选取策略以及每个所述处理器核心的参考负载值从所述多个处理器核心中选取目标处理器核心,包括:
当所述目标选取策略为第一选取策略时,选取所述参考负载值最小的处理器核心作为目标处理器核心;或者,
当所述目标选取策略为第二选取策略时,选取预设处理器核心作为目标处理器核心,其中所述预设处理器核心中预设类别线程所对应的参考负载值小于其他处理器核心。
4.根据权利要求3所述的中断处理方法,其特征在于,所述选取所述参考负载值最小的处理器核心作为目标处理器核心的方法,还包括:
当多个所述处理器核心的参考负载值相等时,获取其中每个处理器核心的总负载值;
选取所述总负载值最小的处理器核心作为目标处理器核心。
5.根据权利要求3所述的中断处理方法,其特征在于,所述选取所述参考负载值最小的处理器核心作为目标处理器核心,包括:
从所述多个处理器核心中选取总负载值小于预设阈值的处理器核心,得到候选处理器核心集合;
从所述候选处理器核心集合中选取所述参考负载值最小的处理器核心作为目标处理器核心。
6.根据权利要求1至5所述的中断处理方法,其特征在于,所述获取所述多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值之前,还包括:
获取每个所述处理器核心中运行的线程的预设标签;
根据所述预设标签确定每个所述处理器核心中运行的线程的类别。
7.根据权利要求6所述的中断处理方法,其特征在于,所述获取每个所述处理器核心中运行的线程的预设标签之前,还包括:
确定出用于执行用户交互事件中相关任务的目标线程;
为所述目标线程添加预设标签,以将所述目标线程标记为预设类别线程。
8.一种中断处理装置,应用于多核心处理器,其特征在于,所述中断处理装置包括:
获取模块,用于当接收到中断的处理请求时,获取所述多核心处理器中每个处理器核心运行的预设类别线程所对应的参考负载值;
选取模块,用于根据每个所述处理器核心的参考负载值从多个处理器核心中选取目标处理器核心;
处理模块,用于将所述中断分配至所述目标处理器核心进行处理。
9.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至7任一项所述的中断处理方法。
10.一种电子设备,包括处理器和存储器,所述存储器有计算机程序,其特征在于,所述处理器通过调用所述计算机程序,用于执行如权利要求1至7任一项所述的中断处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627299.9A CN111831412A (zh) | 2020-07-01 | 2020-07-01 | 中断处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627299.9A CN111831412A (zh) | 2020-07-01 | 2020-07-01 | 中断处理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831412A true CN111831412A (zh) | 2020-10-27 |
Family
ID=72900004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010627299.9A Pending CN111831412A (zh) | 2020-07-01 | 2020-07-01 | 中断处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831412A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501507A (zh) * | 2023-06-28 | 2023-07-28 | 北京紫光芯能科技有限公司 | 用于中断处理的方法及中断控制模块、处理器、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100043008A1 (en) * | 2008-08-18 | 2010-02-18 | Benoit Marchand | Scalable Work Load Management on Multi-Core Computer Systems |
CN101673221A (zh) * | 2009-10-22 | 2010-03-17 | 同济大学 | 一种嵌入式片上多处理器的中断处理方法 |
CN102063335A (zh) * | 2009-11-13 | 2011-05-18 | 大唐移动通信设备有限公司 | 中断控制器以及多核处理器共享设备中断的处理方法 |
CN110837415A (zh) * | 2018-08-17 | 2020-02-25 | 北京嘉楠捷思信息技术有限公司 | 一种基于risc-v多核处理器的线程调度方法和装置 |
CN110968415A (zh) * | 2018-09-29 | 2020-04-07 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
-
2020
- 2020-07-01 CN CN202010627299.9A patent/CN111831412A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100043008A1 (en) * | 2008-08-18 | 2010-02-18 | Benoit Marchand | Scalable Work Load Management on Multi-Core Computer Systems |
CN101673221A (zh) * | 2009-10-22 | 2010-03-17 | 同济大学 | 一种嵌入式片上多处理器的中断处理方法 |
CN102063335A (zh) * | 2009-11-13 | 2011-05-18 | 大唐移动通信设备有限公司 | 中断控制器以及多核处理器共享设备中断的处理方法 |
CN110837415A (zh) * | 2018-08-17 | 2020-02-25 | 北京嘉楠捷思信息技术有限公司 | 一种基于risc-v多核处理器的线程调度方法和装置 |
CN110968415A (zh) * | 2018-09-29 | 2020-04-07 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501507A (zh) * | 2023-06-28 | 2023-07-28 | 北京紫光芯能科技有限公司 | 用于中断处理的方法及中断控制模块、处理器、存储介质 |
CN116501507B (zh) * | 2023-06-28 | 2023-10-24 | 北京紫光芯能科技有限公司 | 用于中断处理的方法及中断控制模块、处理器、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111831441A (zh) | 内存回收方法、装置、存储介质及电子设备 | |
CN111831440A (zh) | 内存回收方法、装置、存储介质及电子设备 | |
CN111831414A (zh) | 线程迁移方法、装置、存储介质及电子设备 | |
US8561073B2 (en) | Managing thread affinity on multi-core processors | |
US9875141B2 (en) | Managing pools of dynamic resources | |
CN111813520A (zh) | 线程调度方法、装置、存储介质及电子设备 | |
CN108509260A (zh) | 线程识别处理方法、装置、计算机设备和存储介质 | |
WO2019218708A1 (zh) | 一种任务处理方法及处理装置、计算机系统 | |
CN111831410A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN111831434A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
CN111831433A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
CN109840149B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN111813521A (zh) | 线程调度方法、装置、存储介质及电子设备 | |
CN111831432B (zh) | Io请求的调度方法、装置、存储介质及电子设备 | |
CN111831438A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
CN107977275B (zh) | 基于消息队列的任务处理方法及相关设备 | |
CN111831411A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN111831442A (zh) | 一种资源分配的方法、装置、存储介质及电子设备 | |
US8935516B2 (en) | Enabling portions of programs to be executed on system z integrated information processor (zIIP) without requiring programs to be entirely restructured | |
CN111831443A (zh) | 处理器状态调整方法、装置、存储介质及电子设备 | |
CN111831436A (zh) | Io请求的调度方法、装置、存储介质及电子设备 | |
CN111831439A (zh) | Io请求的处理方法、装置、存储介质及电子设备 | |
CN111831462A (zh) | Io请求的处理方法、装置、存储介质及电子设备 | |
CN111831435A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111831437A (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 |