DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>,
	 Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	"Maciej Czekaj [C]" <mczekaj@marvell.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	 Bruce Richardson <bruce.richardson@intel.com>
Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v5 1/3] net/thunderx: enable build only on 64-bit Linux
Date: Sun, 10 Oct 2021 15:08:43 +0530	[thread overview]
Message-ID: <CALBAE1NV=uvkti2EBF3UjGSJjwPEapTPLtau-8UO1asJz4RZSQ@mail.gmail.com> (raw)
In-Reply-To: <7b432da0-d51d-f7da-2679-cfc67b20b47d@intel.com>

On Fri, Oct 8, 2021 at 9:00 PM Ferruh Yigit <ferruh.yigit@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, pbhagavatula@marvell.com wrote:
> >>>>>>>>> From: Pavan Nikhilesh <pbhagavatula@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.



>
>
> >>>>>>>>
> >>>>>>>>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >>>>>>>>> Acked-by: Jerin Jacob <jerinj@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
> >>>>>>>>>
> >>>>>>>
> >>>>>
> >>>
> >
>

  reply	other threads:[~2021-10-10  9:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-04 12:01 [dpdk-dev] " Pavan Nikhilesh Bhagavatula
2021-10-04 12:49 ` Ferruh Yigit
2021-10-04 12:54   ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2021-10-08 15:30     ` Ferruh Yigit
2021-10-10  9:38       ` Jerin Jacob [this message]
2021-10-11 11:41         ` Ferruh Yigit
2021-10-11 11:44           ` Pavan Nikhilesh Bhagavatula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALBAE1NV=uvkti2EBF3UjGSJjwPEapTPLtau-8UO1asJz4RZSQ@mail.gmail.com' \
    --to=jerinjacobk@gmail.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jerinj@marvell.com \
    --cc=mczekaj@marvell.com \
    --cc=pbhagavatula@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).