--- zzzz-none-000/linux-2.6.39.4/kernel/workqueue.c 2011-08-03 19:43:28.000000000 +0000 +++ puma6-atom-6490-729/linux-2.6.39.4/kernel/workqueue.c 2021-11-10 13:38:18.000000000 +0000 @@ -41,6 +41,10 @@ #include #include #include +#if defined(CONFIG_AVM_SIMPLE_PROFILING) +#include +#endif /*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ + #include "workqueue_sched.h" @@ -1865,7 +1869,13 @@ lock_map_acquire_read(&cwq->wq->lockdep_map); lock_map_acquire(&lockdep_map); trace_workqueue_execute_start(work); +#if defined(CONFIG_AVM_SIMPLE_PROFILING) + avm_simple_profiling_log(avm_profile_data_type_workitem_begin, (unsigned int)f, (unsigned int)work); +#endif /*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ f(work); +#if defined(CONFIG_AVM_SIMPLE_PROFILING) + avm_simple_profiling_log(avm_profile_data_type_workitem_end, (unsigned int)f, (unsigned int)work); +#endif /*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ /* * While we must be careful to not use "work" after this, the trace * point will only record its address.