Hi, Thomas
> -----邮件原件-----
> 发件人: Thomas Monjalon <tho...@monjalon.net>
> 发送时间: Friday, November 11, 2022 4:22 PM
> 收件人: Feifei Wang <feifei.wa...@arm.com>
> 抄送: David Hunt <david.h...@intel.com>; dev@dpdk.org;
> david.march...@redhat.com; step...@networkplumber.org; nd
> <n...@arm.com>; Ruifeng Wang <ruifeng.w...@arm.com>; Honnappa
> Nagarahalli <honnappa.nagaraha...@arm.com>
> 主题: Re: [PATCH v3 3/3] examples/l3fwd-power: enable PMD power
> monitor on Arm
> 
> 11/11/2022 08:26, Feifei Wang:
> > For Arm aarch, power monitor uses WFE instruction to enable, which can
> > not exit automatically within the time limit. This means
> > 'rte_power_monitor_wakeup' API needs to be called to wake up sleep
> > cores if there is no store operation to monitored address.
> >
> > Furthermore, we disable power monitor feature on the main core so that
> > it can be used to wake up other sleeping cores after it exit from loop.
> >
> > Signed-off-by: Feifei Wang <feifei.wa...@arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.w...@arm.com>
> > Acked-by: David Hunt <david.h...@intel.com>
> > ---
> > +#if defined(RTE_ARCH_ARM64)
> > +                           /* Ensure the main lcore does not enter the
> power-monitor state,
> > +                            * so that it can be used to wake up other
> lcores on ARM.
> > +                            * This is due to WFE instruction has no
> timeout wake-up mechanism,
> > +                            * and if users want to exit actively, the main
> lcore is needed
> > +                            * to send SEV instruction to wake up other
> lcores.
> > +                            */
> > +                           unsigned int main_lcore =
> rte_get_main_lcore();
> > +                           if (lcore_id == main_lcore &&
> > +                                           pmgmt_type ==
> RTE_POWER_MGMT_TYPE_MONITOR)
> > +                                   continue;
> > +#endif
> 
> We need to have this logic abstracted in the API for all architectures.
> We cannot afford having such #ifdef per CPU in the application.
Thanks for the comment. I will move this into API.

Best Regards
Feifei
> 

Reply via email to