Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\mce\therm_throt.c Create Date:2022-07-28 08:04:15
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:herm_throt_process - Process thermal throttling event from interrupt*@curr: Whether the condition is current or not (boolean), since the* thermal interrupt normally gets called both when the thermal* event begins and once the event has ended

Proto:static void therm_throt_process(bool new_event, int event, int level)

Type:void

Parameter:

TypeParameterName
boolnew_event
intevent
intlevel
315  this_cpu = smp_processor_id()
318  pstate = per_cpu(thermal_state, this_cpu)
320  now = get_jiffies_64()
321  If level == CORE_LEVEL Then
322  If event == THERMAL_THROTTLING_EVENT Then state = core_throttle
324  Else if event == POWER_LIMIT_EVENT Then state = core_power_limit
326  Else Return
328  Else if level == PACKAGE_LEVEL Then
329  If event == THERMAL_THROTTLING_EVENT Then state = package_throttle
331  Else if event == POWER_LIMIT_EVENT Then state = package_power_limit
333  Else Return
335  Else Return
338  old_event = new_event
339  new_event = new_event
341  If new_event Then count++
344  If event != THERMAL_THROTTLING_EVENT Then Return
347  If new_event && Not last_interrupt_time Then
351  get_therm_status(level, & hot, & temp)
357  If temp > 10 Then Return
360  baseline_temp = temp
361  last_interrupt_time = now
362  schedule_delayed_work_on - queue work in global workqueue on CPU after delay*@cpu: cpu to use*@dwork: job to be done*@delay: number of jiffies to wait* After waiting for a given time this puts a job in the kernel-global* workqueue on the specified CPU.
363  Else if old_event && last_interrupt_time Then
366  throttle_time = jiffies_delta_to_msecs(now - last_interrupt_time)
367  If throttle_time > max_time_ms Then max_time_ms = throttle_time
369  total_time_ms += throttle_time
370  last_interrupt_time = 0
Caller
NameDescribe
intel_thermal_interruptThermal transition interrupt handler