From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B1D9FA09D3; Thu, 12 Nov 2020 15:06:53 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5AB72592B; Thu, 12 Nov 2020 15:06:51 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id E7DCA569B for ; Thu, 12 Nov 2020 15:06:47 +0100 (CET) IronPort-SDR: VdO3yTNRSyC9x1TlmFsQIOeJLed0AYCSS20yMfDGmW7SbfHzZkfa1tzqQiVTziQpEQwRTDXl2I pc1TDnDjvbYA== X-IronPort-AV: E=McAfee;i="6000,8403,9802"; a="255019674" X-IronPort-AV: E=Sophos;i="5.77,472,1596524400"; d="scan'208";a="255019674" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Nov 2020 06:06:40 -0800 IronPort-SDR: s0fPNmWEdav4r6IES0iCVhcjYtfWUxkzhD8c5XRo+XGn9eHi1s/2ZRWamoZuSy6oUwbjiy/dLJ qt4b6KeewpBQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,472,1596524400"; d="scan'208";a="309229673" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga007.fm.intel.com with ESMTP; 12 Nov 2020 06:06:38 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Nov 2020 06:06:36 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 12 Nov 2020 06:06:36 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 12 Nov 2020 06:06:36 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j9W8kBRMwHCH08t4UCPK8FYsHKyzviwvTXvTnrmFhK1u9i19ktKe8lOFyrGDnjBNmNRMsWiG/pApZ4SMtSn7DZF8X+q3flhUwIKl1xCbepsW0CN2DuVfxxO2D3nqtVSbf+vX6oL4uzKw+wPw/1Wk2ZqpqybK2QmjsDDfYOSDQt857X3y5yH1BSC081cofT4QpBiFmbp/mZVAT+GCTN1GTJm6aZl8rwraBhKUUrx8toKjjirTm0lOMGyydTs1LXX6whdYDdEuf6pnu7NFrBoaqH3QovnZzzcdBR2k5kaqBRbfMCVnyWYToWShvQzoiljdDmy89lubyKZroNYrXcU5CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BUPylfAx3G0Tb2ALHI8sMtwHi0nqzVGyYqnJp6avIfc=; b=US2nitN06jDHXP3gxyeqE2HGDqLLrAApAw2yF8+EHxhOFrtwldrLlSqH77glyR+WrJDIqbaac2XKdSQWQ9xxVD8PTE7gnW9LbB/dqltiK6tCRNKOvXc4YIDKtWAnISsjUy+E7nx4LagNdIW3PMu1dOUuNARAS2SQ2tQGSVprWHHyvLBmh/lJTkUbeKM8xzDrTUVtJ9O0cCacvndBmd9bF7+NKLdADhsPzO4a4XitBs3L6MnGJIM5bBsXbbtYz6C0Yyj9lcXbdTNiWW4825klXZlcJ5FQB4dZ+enfGpE5LA7MauxPeDFSUHFwYk7QqQAwabSbSKOY1oBt2mAcuxh1/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BUPylfAx3G0Tb2ALHI8sMtwHi0nqzVGyYqnJp6avIfc=; b=GTDH8AghAaTjEWal3OfBrgMN/bwDD+s5ZkDQxM8CGuncjyanm6pdJSfcqDwmdgXKZgBPFrVO1kKuRv2VMR7YeynT6rZwpbDoufQ965n5NEwdi05uNmqkz95PhjxxyKBsWSeWqIQfQDphUzCum7hama37fVkqXs2zrEOyYDg3tUs= Received: from CO1PR11MB4995.namprd11.prod.outlook.com (2603:10b6:303:9f::22) by CO1PR11MB4867.namprd11.prod.outlook.com (2603:10b6:303:9a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.21; Thu, 12 Nov 2020 14:06:34 +0000 Received: from CO1PR11MB4995.namprd11.prod.outlook.com ([fe80::9ce:5879:9fa:d96c]) by CO1PR11MB4995.namprd11.prod.outlook.com ([fe80::9ce:5879:9fa:d96c%6]) with mapi id 15.20.3541.025; Thu, 12 Nov 2020 14:06:34 +0000 From: "Jiang, Cheng1" To: "Richardson, Bruce" CC: David Marchand , Maxime Coquelin , "Xia, Chenbo" , dev , "Fu, Patrick" , "Yang, YvonneX" , "Hu, Jiayu" Thread-Topic: [dpdk-dev] [PATCH v3] examples/vhost: fix ioat dependency issue Thread-Index: AQHWuMXAXL53XxVhQEWs63s1N0jznqnEPSUAgAAOWACAAAJnUIAAF9UAgAAiVHA= Date: Thu, 12 Nov 2020 14:06:34 +0000 Message-ID: References: <20201111111957.46090-1-Cheng1.jiang@intel.com> <20201112072147.4345-1-Cheng1.jiang@intel.com> <20201112102810.GE1309@bricha3-MOBL.ger.corp.intel.com> <20201112120204.GH1309@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: <20201112120204.GH1309@bricha3-MOBL.ger.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c18c4472-d710-4c06-cfe6-08d8871429f7 x-ms-traffictypediagnostic: CO1PR11MB4867: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BvKVrCyy3Ntil4Bq8QEslJhReA1BmahqUwl2sulTs2LDnxOgyF1M9ZZFQEJ8rjPFFwr+4xTThweh6Zlq6Vq0NoeC25g28bvpHrIXq0Me+Fxe6qCPNcbgdd6PtDK1Pr/WOcQqwq5xDqtLSoPKXGOnB5mW/PFFw3azBQkJ59Um47sC7QttiZTckYgp8VoSpEKCQru4OKS4ACqI/hTN27fzJSvpC0mauKUOroOTfjuuDiTz1427X6WaCMcE0Ms63+/qCfuBY7K+a1A0iX81v6s5NRmwaImh26xFMaHVXVEYtTfKW/1XpOlEE62N1RGvdaIp x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR11MB4995.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(136003)(376002)(366004)(39860400002)(6506007)(66556008)(4326008)(33656002)(6636002)(478600001)(55016002)(186003)(54906003)(8676002)(7696005)(6862004)(9686003)(2906002)(66446008)(26005)(83380400001)(316002)(107886003)(86362001)(52536014)(53546011)(8936002)(76116006)(5660300002)(66476007)(66946007)(64756008)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: ncKEb7WkCgiqZsjLg8vDkv7mKw7x9H9IT862qE5wRysxNz7CiMmO7hfLynDS0wjjygvwYXBlnxKHxh06vMsPEdVov4sRIqy4TvteZO2VrpvixYUJsJBm+pSjd+qXAXH1in/lGALZablCjzGeXPsNqXucpHrfmueqgG7yxH3seBvE6/Kwb6qJbUTDVtAw2TXvdaxxNELw5R+PGBE5VXCQBzJup3vYNgYzfQjNx4xrg2JwExphj/EdLCRDeoQDmCWwKYoc+jc4TZmKMP2T6ERCBQdhp71kA4kwfZ3Zr//hlPzFM/XDR18bTwC5QvdWWFS1sXpCGbeeLtBc/s8hNkho3ob0mAFq3dWuumZI58yaFXxkO417+DUfyIE6K3GRzc6iSOh4Zyfqs1R+FrZSgOoompqcdQbKDOL28K4kDOpYTpZgbv7unQ/XN97nGeAWbkA/sinzeIUVdg3knimYUsY77cmhaSg8RhqE80M7F0sfxe8IVq4Kvxub8EWW+5/Fq46IMG2NIT2Wc6q/lzv62C1Ygp8xfBAPIRjTWHlc6rd+SkX/XmXefFGpbfW/qUrz0idBGPDtf+1KqE4rBwUIxXmn0tiwf4HLMcayZ7NdB4hg9DjodiRX54IshfqDJFndkkH/lwJEzb+QhjiMpV3uf4U1l++RjQTQlN3FaEvv+zeT4E5kuM/4wj2ha861AYrO7D+yJlAZNZy09xJ7hge4zZp+L0LH3BHnpMjzQoPtPHALtYwfb4DpFGjyPMkFEJvs8sqe87qHazi/UpCk3UpouCN7YE6HDo//e9zO3fngJ2JvaoPAKuy8iThFyOmsBMKt10g5pDRYeBtXpOjLiWF17fDBxzRNlboZ2Yr4wAzrnDOM3+zuLY1J13UW4RSfBa5wkj1SIu0K/OwrYfN5uPaO3PS3Fg== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4995.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c18c4472-d710-4c06-cfe6-08d8871429f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Nov 2020 14:06:34.4404 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: l1IaRq03+xZUnE9LAGl2ezLw/G0FKGNmqPTmbhgPyOuAaqzRe++fiGKa/SjtugHz9OpdXe0IdK/hQsK4CDHf3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4867 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3] examples/vhost: fix ioat dependency issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Submitted v4 patch as per Bruce's suggestion. > -----Original Message----- > From: Bruce Richardson > Sent: Thursday, November 12, 2020 8:02 PM > To: Jiang, Cheng1 > Cc: David Marchand ; Maxime Coquelin > ; Xia, Chenbo ; > dev ; Fu, Patrick ; Yang, YvonneX > ; Hu, Jiayu > Subject: Re: [dpdk-dev] [PATCH v3] examples/vhost: fix ioat dependency > issue >=20 > On Thu, Nov 12, 2020 at 11:29:56AM +0000, Jiang, Cheng1 wrote: > > Hi Bruce, > > > > > -----Original Message----- > > > From: Bruce Richardson > > > Sent: Thursday, November 12, 2020 6:28 PM > > > To: David Marchand > > > Cc: Jiang, Cheng1 ; Maxime Coquelin > > > ; Xia, Chenbo ; > > > dev ; Fu, Patrick ; Yang, YvonneX > > > ; Hu, Jiayu > > > Subject: Re: [dpdk-dev] [PATCH v3] examples/vhost: fix ioat dependenc= y > > > issue > > > > > > On Thu, Nov 12, 2020 at 10:36:50AM +0100, David Marchand wrote: > > > > On Thu, Nov 12, 2020 at 8:30 AM Cheng Jiang > > > wrote: > > > > > > > > > > Fix vhost-switch compiling issue when ioat dependency is missing. > > > > > Change 'RTE_x86' check into 'RTE_RAW_IOAT' check in meson build > file > > > > > and update Makefile. Clean some codes. > > > > > > > > > > Fixes: abec60e7115d ("examples/vhost: support vhost async data > > > > > path") > > > > > Fixes: 3a04ecb21420 ("examples/vhost: add async vhost args parsin= g") > > > > > > > > > > Signed-off-by: Cheng Jiang > > > > > --- > > > > > v3: > > > > > * Added fixes lines in commit log. > > > > > > > > > > v2: > > > > > * Cleaned some codes > > > > > * Changed RTE_RAW_IOAT check method in Makefile > > > > > * Added ioat function definition when RTE_RAW_IOAT is missing > > > > > > > > > > examples/vhost/Makefile | 5 +++++ > > > > > examples/vhost/ioat.h | 32 +++++++++++++++++++++++++------- > > > > > examples/vhost/main.c | 22 +++++++++++----------- > > > > > examples/vhost/meson.build | 2 +- > > > > > 4 files changed, 42 insertions(+), 19 deletions(-) > > > > > > > > > > diff --git a/examples/vhost/Makefile b/examples/vhost/Makefile > index > > > > > cec59d0e0..cbe56f742 100644 > > > > > --- a/examples/vhost/Makefile > > > > > +++ b/examples/vhost/Makefile > > > > > @@ -28,6 +28,11 @@ CFLAGS +=3D -O3 $(shell $(PKGCONF) --cflags > > > > > libdpdk) LDFLAGS_SHARED =3D $(shell $(PKGCONF) --libs libdpdk) > > > > > LDFLAGS_STATIC =3D $(shell $(PKGCONF) --static --libs libdpdk) > > > > > > > > > > +HAS_RAW_IOAT=3D$(shell echo RTE_RAW_IOAT | $(CPP) $(CFLAGS) - > P - | > > > > > +tail -1) ifeq ($(HAS_RAW_IOAT), 1) SRCS-y +=3D ioat.c endif > > > > > + > > > > > CFLAGS +=3D -DALLOW_EXPERIMENTAL_API > > > > > > > > > > build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build > > > > > > > > > > > > > I'll let Bruce and Maxime have the last word on this patch. > > > > But at least it works for me, > > > > Tested-by: David Marchand > > > > > > > I don't have a really strong objection to this, but I still would rat= her see > the > > > ioat detection done in the C code only rather than in the Makefile. > > > I'm concerned about us adding too much complexity into our makefiles, > so > > > would like to keep them simple as much as possible. > > > > > > Therefore, I'd like to see ioat.c always included in SRCS-y, and ioat= .c just > have > > > #ifdef RTE_RAW_IOAT to block out any ioat-dependent code. > > > > > > /Bruce > > > > Tomorrow is the deadline for RC4, it's a little bit rush to prepare a n= ew > framework to cover the conditional compiling. Considering we have test > efforts and CI check already on-going based on current patch, I would pre= fer > to keep current code structure. Plus, pure C code change could also > introduce more readability problem when we have more than one async > callback implementations. > > >=20 > I don't see any readability problems at all, in fact the result is cleane= r > and shorter IMHO - especially the Makefile. I just tested with the > following changes applied on top of your patch, and all seemed to build o= k. >=20 > Do you see any implementation problems with the below solution? >=20 > /Bruce >=20 > diff --git a/examples/vhost/Makefile b/examples/vhost/Makefile > index cbe56f742..8c969caaa 100644 > --- a/examples/vhost/Makefile > +++ b/examples/vhost/Makefile > @@ -5,7 +5,7 @@ > APP =3D vhost-switch >=20 > # all source are stored in SRCS-y > -SRCS-y :=3D main.c virtio_net.c > +SRCS-y :=3D main.c virtio_net.c ioat.c >=20 > # Build using pkg-config variables if possible > ifneq ($(shell pkg-config --exists libdpdk && echo 0),0) > @@ -28,11 +28,6 @@ CFLAGS +=3D -O3 $(shell $(PKGCONF) --cflags libdpdk) > LDFLAGS_SHARED =3D $(shell $(PKGCONF) --libs libdpdk) > LDFLAGS_STATIC =3D $(shell $(PKGCONF) --static --libs libdpdk) >=20 > -HAS_RAW_IOAT=3D$(shell echo RTE_RAW_IOAT | $(CPP) $(CFLAGS) -P - | tail > -1) > -ifeq ($(HAS_RAW_IOAT), 1) > -SRCS-y +=3D ioat.c > -endif > - > CFLAGS +=3D -DALLOW_EXPERIMENTAL_API >=20 > build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build > diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c > index b2c74f653..7c1a4f40d 100644 > --- a/examples/vhost/ioat.c > +++ b/examples/vhost/ioat.c > @@ -8,6 +8,8 @@ > #include "ioat.h" > #include "main.h" >=20 > +#ifdef RTE_RAW_IOAT > + > struct dma_for_vhost dma_bind[MAX_VHOST_DEVICE]; >=20 > struct packet_tracker { > @@ -199,3 +201,5 @@ ioat_check_completed_copies_cb(int vid, uint16_t > queue_id, > /* Opaque data is not supported */ > return -1; > } > + > +#endif /* RTE_RAW_IOAT */