--- zzzz-none-000/linux-5.15.111/arch/x86/kernel/smp.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/arch/x86/kernel/smp.c 2024-02-07 10:22:35.000000000 +0000 @@ -33,6 +33,8 @@ #include #include #include +#include +#include /* * Some notes on x86 processor bugs affecting SMP operation: @@ -227,7 +229,9 @@ ack_APIC_irq(); trace_reschedule_entry(RESCHEDULE_VECTOR); inc_irq_stat(irq_resched_count); + avm_simple_profiling_log(avm_profile_data_type_hw_irq_begin, (unsigned long)sysvec_reschedule_ipi, 0x101); scheduler_ipi(); + avm_simple_profiling_log(avm_profile_data_type_hw_irq_end, (unsigned long)sysvec_reschedule_ipi, 0x101); trace_reschedule_exit(RESCHEDULE_VECTOR); } @@ -236,7 +240,9 @@ ack_APIC_irq(); trace_call_function_entry(CALL_FUNCTION_VECTOR); inc_irq_stat(irq_call_count); + avm_simple_profiling_log(avm_profile_data_type_hw_irq_begin, (unsigned long)sysvec_call_function, 0x102); generic_smp_call_function_interrupt(); + avm_simple_profiling_log(avm_profile_data_type_hw_irq_end, (unsigned long)sysvec_call_function, 0x102); trace_call_function_exit(CALL_FUNCTION_VECTOR); } @@ -245,7 +251,9 @@ ack_APIC_irq(); trace_call_function_single_entry(CALL_FUNCTION_SINGLE_VECTOR); inc_irq_stat(irq_call_count); + avm_simple_profiling_log(avm_profile_data_type_hw_irq_begin, (unsigned long)sysvec_call_function_single, 0x103); generic_smp_call_function_single_interrupt(); + avm_simple_profiling_log(avm_profile_data_type_hw_irq_end, (unsigned long)sysvec_call_function_single, 0x103); trace_call_function_single_exit(CALL_FUNCTION_SINGLE_VECTOR); }