[dpdk-dev] rte_power: fix sample vm_power_mgr not work with Haswell cpus
Commit Message
From: Marvin Liu <yong.liu@intel.com>
Two socket Haswell cpus on cottonwoodPass have 72 cores totally. And this
number oversize the default value of maximum core number 64.
Total number of channels should also increased for match core number.
Signed-off-by: Marvin Liu <yong.liu@intel.com>
Comments
Alan, Pablo, any comment?
By the way, we need a maintainer for rte_power.
2015-07-07 16:36, Yong Liu:
> From: Marvin Liu <yong.liu@intel.com>
>
> Two socket Haswell cpus on cottonwoodPass have 72 cores totally. And this
> number oversize the default value of maximum core number 64.
>
> Total number of channels should also increased for match core number.
>
> Signed-off-by: Marvin Liu <yong.liu@intel.com>
Ping
2015-07-10 14:24, Thomas Monjalon:
> Alan, Pablo, any comment?
> By the way, we need a maintainer for rte_power.
>
> 2015-07-07 16:36, Yong Liu:
> > From: Marvin Liu <yong.liu@intel.com>
> >
> > Two socket Haswell cpus on cottonwoodPass have 72 cores totally. And this
> > number oversize the default value of maximum core number 64.
> >
> > Total number of channels should also increased for match core number.
> >
> > Signed-off-by: Marvin Liu <yong.liu@intel.com>
>
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Monday, August 03, 2015 4:13 PM
> To: Carew, Alan; De Lara Guarch, Pablo
> Cc: dev@dpdk.org; Liu, Yong
> Subject: Re: [dpdk-dev] [PATCH] rte_power: fix sample vm_power_mgr not
> work with Haswell cpus
>
> Ping
>
> 2015-07-10 14:24, Thomas Monjalon:
> > Alan, Pablo, any comment?
> > By the way, we need a maintainer for rte_power.
> >
> > 2015-07-07 16:36, Yong Liu:
> > > From: Marvin Liu <yong.liu@intel.com>
> > >
> > > Two socket Haswell cpus on cottonwoodPass have 72 cores totally. And
> this
> > > number oversize the default value of maximum core number 64.
> > >
> > > Total number of channels should also increased for match core number.
> > >
> > > Signed-off-by: Marvin Liu <yong.liu@intel.com>
> >
>
NACK.
Allowing that change may end up in an undefined behaviour if user uses core 64 or more.
Will send an alternative fix, with a warning instead of an error, so user still can use the app on a machine with more than 64 cores, as long as no cores over 63 are used.
Thanks,
Pablo
@@ -39,7 +39,7 @@ extern "C" {
#endif
/* Maximum number of CPUS to manage */
-#define POWER_MGR_MAX_CPUS 64
+#define POWER_MGR_MAX_CPUS RTE_MAX_LCORE
/**
* Initialize power management.
* Initializes resources and verifies the number of CPUs on the system.
@@ -41,17 +41,10 @@ extern "C" {
#include <stdint.h>
/* Maximum number of CPUs */
-#define CHANNEL_CMDS_MAX_CPUS 64
-#if CHANNEL_CMDS_MAX_CPUS > 64
-#error Maximum number of cores is 64, overflow is guaranteed to \
- cause problems with VM Power Management
-#endif
-
-/* Maximum number of channels per VM */
-#define CHANNEL_CMDS_MAX_VM_CHANNELS 64
+#define CHANNEL_CMDS_MAX_CPUS RTE_MAX_LCORE
/* Maximum number of channels per VM */
-#define CHANNEL_CMDS_MAX_VM_CHANNELS 64
+#define CHANNEL_CMDS_MAX_VM_CHANNELS RTE_MAX_LCORE
/* Valid Commands */
#define CPU_POWER 1