>-----Original Message----- >From: Ferruh Yigit <ferruh.yi...@intel.com> >Sent: Monday, October 11, 2021 5:11 PM >To: Jerin Jacob <jerinjac...@gmail.com> >Cc: Pavan Nikhilesh Bhagavatula <pbhagavat...@marvell.com>; Jerin >Jacob Kollanukkaran <jer...@marvell.com>; Maciej Czekaj [C] ><mcze...@marvell.com>; dev@dpdk.org; Bruce Richardson ><bruce.richard...@intel.com> >Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v5 1/3] net/thunderx: enable >build only on 64-bit Linux > >On 10/10/2021 10:38 AM, Jerin Jacob wrote: >> On Fri, Oct 8, 2021 at 9:00 PM Ferruh Yigit <ferruh.yi...@intel.com> >wrote: >>> >>> On 10/4/2021 1:54 PM, Pavan Nikhilesh Bhagavatula wrote: >>>>> On 10/4/2021 1:01 PM, Pavan Nikhilesh Bhagavatula wrote: >>>>>>> On 10/4/2021 12:34 PM, Pavan Nikhilesh Bhagavatula wrote: >>>>>>>>> On 10/4/2021 11:02 AM, Pavan Nikhilesh Bhagavatula wrote: >>>>>>>>>>> On 10/4/2021 6:56 AM, pbhagavat...@marvell.com >wrote: >>>>>>>>>>>> From: Pavan Nikhilesh <pbhagavat...@marvell.com> >>>>>>>>>>>> >>>>>>>>>>>> Due to Linux kernel AF(Admin function) driver >dependency, >>>>> only >>>>>>>>>>> enable >>>>>>>>>>>> build for 64-bit Linux. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Hi Pavan, >>>>>>>>>>> >>>>>>>>>>> Isn't it possible to provide a commit log in the kernel side >etc, >>>>> that >>>>>>> let >>>>>>>>>>> others to verify why only 64 bit is required, or if someone >want >>>>> to >>>>>>>>>>> support >>>>>>>>>>> 32bit that may help them to investigate the source of the >>>>>>> restriction. >>>>>>>>>> >>>>>>>>>> Arch 32 support is not implemented on ThunderX, so 32bit >will >>>>> not >>>>>>>>> run. >>>>>>>>>> >>>>>>>>> >>>>>>>>> I see, is following correct: >>>>>>>>> All thunderx, octeonx & octeontx2 only supports VF in the >DPDK, >>>>>>> and PF >>>>>>>>> is >>>>>>>>> supported by Linux kernel driver. And Linux kernel driver >doesn't >>>>>>>>> support arch32. >>>>>>>> >>>>>>>> AF != PF, AF is something that manages all the shared >resources >>>>>>> between PF/VF. >>>>>>>> >>>>>>> >>>>>>> I see, I though AF is part of PF functionality. Are there two >different >>>>>>> kernel >>>>>>> modules for PF and AF? >>>>>>> >>>>>>> So can DPDK driver drive PF? In a way, PF by DPDK, VF by DPDK, >AF >>>>> by >>>>>>> Linux >>>>>>> kernel driver. >>>>>> >>>>>> Yup that’s correct. >>>>>> >>>>>>> >>>>>>>>> >>>>>>>>> Is something changed in kernel driver side to drop the 32bit >>>>> support? >>>>>>>>> If it was not supported at all, what is the motivation to >disable the >>>>>>> DPDK >>>>>>>>> drivers now? >>>>>>>>> >>>>>>>> >>>>>>>> It was never supported to begin with, motivation is that build >will >>>>> fail if >>>>>>> we try to >>>>>>>> compile with 32b. >>>>>>>> >>>>>>> >>>>>>> If there is no plan to support 32bit in the kernel side, that is >>>>> reasonable >>>>>>> to >>>>>>> disable 32bit build, please provide above details in the commit >log. >>>>>>> >>>>>>> And after above said, how much maintenance cost to support >32bit, >>>>> if >>>>>>> the build >>>>>>> error is on the logging format "%lx" etc .. (as we mostly have >32bit >>>>> build >>>>>>> errors), it is better to fix them using 'PRIx64' which is more >proper >>>>> way >>>>>>> anyway. If there is more logical issue with 32bit pointers, I >agree with >>>>>>> you to >>>>>>> disable it. >>>>>>> Can you please provided the build error in the commit log as >record? >>>>>>> >>>>>> >>>>>> Apologies, I meant that all the functions that don’t fall under 64b >are >>>>> stubbed out >>>>>> so the driver wouldn’t work. >>>>>> >>>>> >>>>> so is there build error or not? >>>>> >>>> >>>> No build error. >>>> >>> >>> Just trying to clarify, >>> >>> Linux kernel AF kernel driver only build for 64-bit Linux. >>> And mentioned DPDK drivers have a dependency to this kernel >module. >>> >>> But DPDK drivers are userspace application, can't 32-bit application >>> run on 64-bit Linux? >>> >>> Can you please clarify what exactly is not supported? >> >> >> armv8 specification has two operating modes, >> >> 1) AArch32 mode, where a 32 bit application can run on armv8 >> 2) AArch64 mode, where it is native 64bit support. >> >> In Thunderx and Octeon families, AArch32 mode is not implemented >to save >> the power and RTL cost. So it can never use AArch32 32bit mode. >> >> There was an attempt to emulate 32bit mode in 64 bit like X32_ABI, it >> is called IPL32 in arm64, that never became mainstream. So 32bit >application >> can not run on ThunderX/Octeontx so we would like to remove >building this option >> to avoid removing the cost of maintaining it. >> >> > >Thanks for the clarification, so main motivation is not the AF driver >dependency? > >Can you please put above description to the commit log in next version?
Sure, I will send the next version. > >Thanks, >Ferruh Thanks, Pavan. > >> >>> >>> >>>>>>>>>>> >>>>>>>>>>>> Signed-off-by: Pavan Nikhilesh ><pbhagavat...@marvell.com> >>>>>>>>>>>> Acked-by: Jerin Jacob <jer...@marvell.com> >>>>>>>>>>>> --- >>>>>>>>>>>> v5 Changes >>>>>>>>>>>> - s/fuction/function. >>>>>>>>>>>> >>>>>>>>>>>> v4 Changes: >>>>>>>>>>>> - Update commit message regarding dependency on >AF >>>>> driver. >>>>>>>>>>>> >>>>>>>>>>>> drivers/net/thunderx/meson.build | 4 ++-- >>>>>>>>>>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>>>>>>>>>> >>>>>>>>>>>> diff --git a/drivers/net/thunderx/meson.build >>>>>>>>>>> b/drivers/net/thunderx/meson.build >>>>>>>>>>>> index 4bbcea7f93..da665bd76f 100644 >>>>>>>>>>>> --- a/drivers/net/thunderx/meson.build >>>>>>>>>>>> +++ b/drivers/net/thunderx/meson.build >>>>>>>>>>>> @@ -1,9 +1,9 @@ >>>>>>>>>>>> # SPDX-License-Identifier: BSD-3-Clause >>>>>>>>>>>> # Copyright(c) 2017 Cavium, Inc >>>>>>>>>>>> >>>>>>>>>>>> -if is_windows >>>>>>>>>>>> +if not is_linux or not dpdk_conf.get('RTE_ARCH_64') >>>>>>>>>>>> build = false >>>>>>>>>>>> - reason = 'not supported on Windows' >>>>>>>>>>>> + reason = 'only supported on 64-bit Linux' >>>>>>>>>>>> subdir_done() >>>>>>>>>>>> endif >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> 2.17.1 >>>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>> >>>