An ifdef present in eal_memory.c references "RTE_ARCH_PPC64" when
it should actually use "RTE_ARCH_PPC_64". Simple testing revealed
that both the PPC_64 and non-PPC_64 versions of the code involved
work, but the PPC_64 version of the code is retained to be
consistent with other instances in the same file where mmapped
memory is accessed in reverse order on Power platforms.
The change itself is not that scary, but just reading this commitlog I
fail to see the impact for an application.
Can you share some light?
As far as I can tell there is no impact on any applications. The old
code, which walked through the list in a forward direction, worked
perfectly well with testpmd and DPDK pktgen applications on Power systems.
With the ifdef fixed, the core walks the list in the reverse direction
as intended, the code still worked (i.e. no errors or problems were
observed in the same test applications).
I'm not completely familiar with why memseg lists must be traversed in
the reverse direction for Power systems. It might be something specific
to Power 8 systems which I'm not actually supporting on DPDK, only the
Power 9 systems that I use for for development and testing.
Dave