Kernel Thread Detection for Core-Aware Game Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programs running on computing devices suffer from performance degradation when threads critical to performance are migrated to lower-performance processor cores, leading to issues like reduced responsiveness and image smoothness.

Innovation Solution

A method to identify core threads by hooking events in the kernel interface, calculating total execution time, and determining critical threads based on time costs and identifiers, allowing for performance mitigation by assigning these threads to appropriate cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If threads are migrated to lower-performance processor cores to balance load, then energy efficiency and thermal performance improve, but execution time and responsiveness deteriorate

Engineering Contradiction:
Improveenergy efficiencyVSAvoidexecution time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent applies local quality by differentiating processor cores into performance tiers (gold, silver, bronze) and assigning threads to specific core types based on their criticality. Critical threads are placed on high-performance cores while non-critical threads use lower-performance cores, creating localized optimization that balances energy efficiency with execution time requirements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of thread criticality assessment by measuring execution time, preemption count, and task load to dynamically determine which threads should remain on high-performance cores. This parameter-based classification enables adaptive thread placement that optimizes both energy consumption and performance.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If thread criticality is determined through comprehensive monitoring and analysis, then thread management accuracy improves, but system complexity and overhead increase

Engineering Contradiction:
Improvethread criticality detection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements self-service by having threads self-evaluate their criticality through kernel-level instrumentation that automatically collects execution time, preemption count, and task load data. The thread manager then uses this self-provided data to make placement decisions without requiring external manual configuration or complex analysis algorithms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs feedback mechanisms where the system continuously monitors thread execution characteristics and uses this information to adjust thread placement decisions. The feedback loop includes collecting performance data, analyzing it to determine criticality, and then making placement decisions that optimize both performance and energy efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250383969A1A method to detect game core threads
Publication Date: 2025.12.18 QUALCOMM INC
  • US20250383969A1 patent drawing
  • US20250383969A1 patent drawing
  • US20250383969A1 patent drawing

AI summary

Various embodiments include methods and devices for identifying core threads of a program executing by a processor. Some embodiments may include hooking an event by a kernel interface, calculating a total time cost for executing a thread of the program based on hooking the event by the kernel interface, returning the total time cost for executing the thread and a thread identifier of the thread to a core thread identifier program by the kernel, and determining a core thread of the program based on the total time cost for executing the thread and the thread identifier of the thread by the core thread identifier program.