--- zzzz-none-000/linux-4.9.279/arch/x86/kernel/apic/apic.c 2021-08-08 06:38:54.000000000 +0000 +++ puma7-atom-6591-750/linux-4.9.279/arch/x86/kernel/apic/apic.c 2023-02-08 11:43:42.000000000 +0000 @@ -58,6 +58,12 @@ #include #include #include +#if defined(CONFIG_AVM_POWER) +#include +#endif/*--- #if defined(CONFIG_AVM_POWER) ---*/ +#if defined(CONFIG_AVM_SIMPLE_PROFILING) +#include +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ unsigned int num_processors; @@ -1000,7 +1006,16 @@ * interrupt lock, which is the WrongThing (tm) to do. */ entering_ack_irq(); +#if defined(CONFIG_AVM_POWER) + avm_cpu_wait_end(); /*--- auch wenn es wait_irqoff gibt: trotzdem aufrufen, um system-load-Ausgabe zu triggern ---*/ +#endif/*--- #if defined(CONFIG_AVM_POWER) ---*/ +#if defined(CONFIG_AVM_SIMPLE_PROFILING) + avm_simple_profiling_log(avm_profile_data_type_hw_irq_begin, (unsigned int)smp_apic_timer_interrupt, 0x105); +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ local_apic_timer_interrupt(); +#if defined(CONFIG_AVM_SIMPLE_PROFILING) + avm_simple_profiling_log(avm_profile_data_type_hw_irq_end, (unsigned int)smp_apic_timer_interrupt, 0x105); +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ exiting_irq(); set_irq_regs(old_regs); @@ -1019,8 +1034,17 @@ * interrupt lock, which is the WrongThing (tm) to do. */ entering_ack_irq(); +#if defined(CONFIG_AVM_POWER) + avm_cpu_wait_end(); /*--- auch wenn es wait_irqoff gibt: trotzdem aufrufen, um system-load-Ausgabe zu triggern ---*/ +#endif/*--- #if defined(CONFIG_AVM_POWER) ---*/ trace_local_timer_entry(LOCAL_TIMER_VECTOR); +#if defined(CONFIG_AVM_SIMPLE_PROFILING) + avm_simple_profiling_log(avm_profile_data_type_hw_irq_begin, (unsigned int)smp_trace_apic_timer_interrupt, 0x105); +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ local_apic_timer_interrupt(); +#if defined(CONFIG_AVM_SIMPLE_PROFILING) + avm_simple_profiling_log(avm_profile_data_type_hw_irq_end, (unsigned int)smp_trace_apic_timer_interrupt, 0x105); +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ trace_local_timer_exit(LOCAL_TIMER_VECTOR); exiting_irq();