From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thomas@monjalon.net>
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id D53892C0C
 for <dev@dpdk.org>; Fri,  1 Mar 2019 15:03:07 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 69748218D2;
 Fri,  1 Mar 2019 09:03:07 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Fri, 01 Mar 2019 09:03:07 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding:content-type; s=mesmtp;
 bh=p20EtqSexaNW8XNN7iFHjwYe3nwyFe1d0oCCCGobSvk=; b=KTKA6K4rSAom
 Npa1Z88GW6tD/sW51PrgPjzDYWxIKURU93/AimXkeudaaHxNZYyLLlPAgFUqVUvA
 J7QkSXq779aMmQxjnxjiJJUIPy6LYiNsn0bgatiIDoAJ8guvsfvoNxpyM7soiFXx
 hXKZOYndlVlMMMvhz+hOj9Y0Kl2b/kE=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm2; bh=p20EtqSexaNW8XNN7iFHjwYe3nwyFe1d0oCCCGobS
 vk=; b=BR1xGU4NGbeR5w1oOrGc3BwE14n/cfhZoAl9Ji5gkHlQUag6dsvvDhqeX
 NaeNpX6hvP29NuoHZJpOhfk2GbO/MEog8V2fZsjqnlZ3eAMiaFlm3Lmsq+0EXgJO
 6fPeNu7uerBnUCtn+b+dRHhpGfVxfHrG6e3eEsGpOaH0dyrCOSfqGIwqdpEtfbXi
 CjDUs0//e9ze+qjXv6c6p0oqkWKGbhjZMIhSTO020DhCrFP5I/cl66aWaPpXMY20
 6SPXCPNXhn+Im1nJka5rjMXHwH8QtJldG+/rGjcDF1xz1Aw6LChNsR5ov/nQoHDj
 zgwsKnGt8U3jepdaqcwLExRtHVtgw==
X-ME-Sender: <xms:mjt5XFJMudOVC6KPYvcNRLdfufBlVPIvp_bnj-sWX17kograsxNTtg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrvdehgdehkecutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs
 ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucfkph
 epleefrdeirddugeelrdduudegnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhhomhgr
 shesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:mjt5XFZI04nWV8PhYTDCXOzc1IxLMPs_xBTBIHiRUG9SokNHzC7tdg>
 <xmx:mjt5XJHuKNwb-BIV-TlvkwvkO-eYNlExr72TJPs0mRNw94Zt4BsrTw>
 <xmx:mjt5XDSSIoVCLy6xvs6Vz1hqqc_USdrtsFxRNhlqv277MxqZ9M7yYg>
 <xmx:mzt5XAigtdMbe2eNV5t9xvTMms541ye28teVObpVzmExPhYkt3l5YQ>
Received: from xps.localnet (114.149.6.93.rev.sfr.net [93.6.149.114])
 by mail.messagingengine.com (Postfix) with ESMTPA id 09CB710318;
 Fri,  1 Mar 2019 09:03:04 -0500 (EST)
From: Thomas Monjalon <thomas@monjalon.net>
To: Anand Rawat <anand.rawat@intel.com>
Cc: dev@dpdk.org, pallavi.kadam@intel.com, jeffrey.b.shaw@intel.com,
 ranjit.menon@intel.com, bruce.richardson@intel.com
Date: Fri, 01 Mar 2019 15:03:02 +0100
Message-ID: <1633455.prhy9BIAj0@xps>
In-Reply-To: <20190301071847.13376-2-anand.rawat@intel.com>
References: <20190301071847.13376-1-anand.rawat@intel.com>
 <20190301071847.13376-2-anand.rawat@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [dpdk-dev] [PATCH 1/6] eal: eal stub to add windows support
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Mar 2019 14:03:08 -0000

01/03/2019 08:18, Anand Rawat:
> Added initial stub source files for windows support and meson
> changes to build them.

Thanks for sending some new patches based on meson.

Let's start review with some simple considerations.

> Signed-off-by: Anand Rawat <anand.rawat@intel.com>
> Signed-off-by: Kadam, Pallavi <pallavi.kadam@intel.com>

Please avoid comma in names.
I think the right name is Pallavi Kadam?

> Reviewed-by: Jeffrey B Shaw <jeffrey.b.shaw@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>

Please make sure everybody involved here is in Cc of the emails.
Git should add them automatically.
Please add me as Cc of next versions. I'm interested in the start
of the Windows port. Thanks

[...]
> -# Copyright(c) 2017 Intel Corporation
> +# Copyright(c) 2019 Intel Corporation

I'm not sure you need to update the dates.
In case you need to, you should probably keep the original date.

> -# use pthreads
> -add_project_link_arguments('-pthread', language: 'c')
> -dpdk_extra_ldflags += '-pthread'
> +if host_machine.system() != 'windows'
> +	# use pthreads
> +	add_project_link_arguments('-pthread', language: 'c')
> +	dpdk_extra_ldflags += '-pthread'

Why pthreads is not used in Windows?

> -# some libs depend on maths lib
> -add_project_link_arguments('-lm', language: 'c')
> -dpdk_extra_ldflags += '-lm'
> +	# some libs depend on maths lib
> +	add_project_link_arguments('-lm', language: 'c')
> +	dpdk_extra_ldflags += '-lm'
> +endif

Why libmath is not used?

>  # get binutils version for the workaround of Bug 97
> -ldver = run_command('ld', '-v').stdout().strip()
> -if ldver.contains('2.30')
> -	if cc.has_argument('-mno-avx512f')
> -		march_opt += '-mno-avx512f'
> -		message('Binutils 2.30 detected, disabling AVX512 support as workaround for bug #97')
> +if host_machine.system() != 'windows'

The real fix should be to check which linker is selected by meson.

> +	ldver = run_command('ld', '-v').stdout().strip()
> +	if ldver.contains('2.30')
> +		if cc.has_argument('-mno-avx512f')
> +			march_opt += '-mno-avx512f'
> +			message('Binutils 2.30 detected, disabling AVX512 support as workaround for bug #97')
> +		endif

[...]
> --- a/lib/librte_eal/common/include/arch/x86/meson.build
> +++ b/lib/librte_eal/common/include/arch/x86/meson.build
> -install_headers(
> -	'rte_atomic_32.h',
> -	'rte_atomic_64.h',
> -	'rte_atomic.h',
> -	'rte_byteorder_32.h',
> -	'rte_byteorder_64.h',
> -	'rte_byteorder.h',
> -	'rte_cpuflags.h',
> -	'rte_cycles.h',
> -	'rte_io.h',
> -	'rte_memcpy.h',
> -	'rte_prefetch.h',
> -	'rte_pause.h',
> -	'rte_rtm.h',
> -	'rte_rwlock.h',
> -	'rte_spinlock.h',
> -	'rte_vect.h',
> -	subdir: get_option('include_subdir_arch'))
> +if host_machine.system() != 'windows'
> +	install_headers(
> +		'rte_atomic_32.h',
> +		'rte_atomic_64.h',
> +		'rte_atomic.h',
> +		'rte_byteorder_32.h',
> +		'rte_byteorder_64.h',
> +		'rte_byteorder.h',
> +		'rte_cpuflags.h',
> +		'rte_cycles.h',
> +		'rte_io.h',
> +		'rte_memcpy.h',
> +		'rte_prefetch.h',
> +		'rte_pause.h',
> +		'rte_rtm.h',
> +		'rte_rwlock.h',
> +		'rte_spinlock.h',
> +		'rte_vect.h',
> +		subdir: get_option('include_subdir_arch')
> +	)
> +endif

The headers should not be different for Windows.
NACK for this part.

[...]
> @@ -17,13 +17,19 @@ elif host_machine.system() == 'freebsd'
>  	dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1)
>  	subdir('bsdapp/eal')
>  
> +elif host_machine.system() == 'windows'
> +	dpdk_conf.set('RTE_EXEC_ENV_WINDOWS', 1)

For consistency, it should RTE_EXEC_ENV_WINAPP.

> +	subdir('winapp/eal')
> +