From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id DF6241B16D for ; Wed, 24 Jan 2018 17:58:16 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 8083020CBA; Wed, 24 Jan 2018 11:58:16 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 24 Jan 2018 11:58:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=mesmtp; bh=zmPAxdCOy4XWNHcb5WgvnwU7J4 hbecYnZcmEbRxxsy0=; b=BJfCk4T8/+gZ+gwndECtEGrhOB+upyTyLIUoKh+zwP 3H0543IDnKO1B7rMJkvX4qb4qYTaZ9GaBikYXb4PZOGhJMks7c8xuvcKBMhlzBHC bWIaukyi1QwhyowQ2VXO+TmLXsMvuGVAz8ALrHoxOnLrgp6V73Bzh7BIYNhgf6CS E= 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-sender:x-me-sender:x-sasl-enc; s=fm1; bh=zmPAxd COy4XWNHcb5WgvnwU7J4hbecYnZcmEbRxxsy0=; b=oFfM5RcgMtfWkitQwK5iYy f5KnkgHf4dQYk8gBPQslQTJTeGXTzoJjiSXEjhGiBPcRxBUpcJgYc1OZRQgFYqrh o+H06ZUWyoi5gI5PoZICnEMcVuFwFmEQKvZXz+mmTgf6lyjNh/TKu8XiSY75h4ZC iEg/SY/fEUuFlfHjZbrpldOS1xZi1694MC7uT0gIaPnznSY9w8snbxi6GRnO2+RS exhdPHYPlQ/Wn1SsWgTA6vz6S46Aov905EvQcvJ+1pJBW7VK6foS4CTYTm+/QFpm d5pim/hjg9US5c+SWmi4q1IFQSbsyJsz77ydYULj/ZraaqbGBDKeGdt4r6sIFHnA == X-ME-Sender: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 305677E1BE; Wed, 24 Jan 2018 11:58:16 -0500 (EST) From: Thomas Monjalon To: Yuanhan Liu Cc: =?ISO-8859-1?Q?Ga=EBtan?= Rivet , Ferruh Yigit , dev@dpdk.org Date: Wed, 24 Jan 2018 17:57:34 +0100 Message-ID: <4586426.ySiLvJ04ZT@xps> In-Reply-To: <20180124150428.GW29540@yliu-mob> References: <1516114218-21501-1-git-send-email-yliu@fridaylinux.org> <1680859.nSYTmhjtCR@xps> <20180124150428.GW29540@yliu-mob> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH] doc: document the new devargs syntax 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: , X-List-Received-Date: Wed, 24 Jan 2018 16:58:17 -0000 24/01/2018 16:04, Yuanhan Liu: > On Wed, Jan 24, 2018 at 11:37:31AM +0100, Thomas Monjalon wrote: > > 24/01/2018 11:36, Yuanhan Liu: > > > On Wed, Jan 24, 2018 at 11:21:44AM +0100, Thomas Monjalon wrote: > > > > 24/01/2018 10:28, Yuanhan Liu: > > > > > On Wed, Jan 24, 2018 at 09:19:10AM +0100, Thomas Monjalon wrote: > > > > > > 24/01/2018 07:43, Yuanhan Liu: > > > > > > > On Tue, Jan 23, 2018 at 03:29:34PM +0100, Thomas Monjalon wrote: > > > > > > > > 23/01/2018 13:46, Yuanhan Liu: > > > > > > > > > If port not found, then the whole string will be used for dev attachment. > > > > > > > > > It means we are attaching a port with PCI BDF == 04.00.0 AND > > > > > > > > > port == 0 (the 2nd port will not be attached). > > > > > > > > > > > > > > > > > > > > > > > > > > > And here is how the devargs would look like if "matching;settings" is > > > > > > > > > being used: > > > > > > > > > > > > > > > > > > bus=pci,id=04:00.0/class=eth,port=0;bus=pci,id=04:00.0/class=eth,port=0/driver=mlx4,mlx4_arg_A=val,... > > > > > > > > > > > > > > > > > > The part before ";" will be used for lookup and the later part will be > > > > > > > > > used for attachment. It should work. It just looks redundant. > > > > > > > > > > > > > > > > It does not have to be redundant. > > > > > > > > It can be: > > > > > > > > bus=pci,id=04:00.0/class=eth,port=0;driver=mlx4,mlx4_arg1=settings1,... > > > > > > > > > > > > > > I knew you would make such reply :) > > > > > > > Then there is a contradiction. According your suggestion, the "port=0" belongs > > > > > > > to the matching section, but it also has to be used in the settings section. > > > > > > > > > > > > If port=0 is matched, it is already set, right? > > > > > > > > > > Yes. > > > > > > > > > > > Why it needs to be in settings? > > > > > > > > > > But I was talking the case it's not matched, say it's not probed and here > > > > > we do hotplug. > > > > > > > > I don't understand. > > > > Anyway, the port property should be read-only. > > > > > > All proberties should be read-only. > > > > > > > Are we talking about the dev_port from the Linux kernel? > > > > > > Yes. And it can be used for probing one port only (out of 2 ports in a NIC) > > > at probe stage. So, at this stage, it's a setting but not a match. > > > > No it's a match! > > > > A settings is changing data in the port. > > So I see that's your definition about the "settings". What I think is > everything needed for driver initiation are settings. > > For example, one proposed interface for VF rep is the "vf_id" property, > Similar to "port" property we have just discussed above, it's used for > probing one specific VR rep for the given VF id. > > You can say it's a match here, just like the "port" property. > > But note that "vf_id" could be a range, to enable multiple VF reps. > The semantics looks like "setting" more than "match". Not sure why it would look like settings. > Another example is from the failsafe PMD that Gaetan had mentioned: > > driver=failsafe,dev(bus=pci,id=00:02.0),fd(/some/file/) > > They (dev and fd) should belong the "setting" section, for 2 reasons: > > - they should not be used for matching > - they are used for failsafe PMD initiation Yes these ones are settings. > But it belongs "match", according to your definition about "settings", > because it doesn't change data in the port. No, it changes data, dev() is adding a slave, and fd() is adding a file descriptor. So we agree these are settings. > That also means, the word "settings" might not be well named. It's > probably better to name it "drvargs". I disagree. But it's only naming. Settings can be class settings, not only driver settings. And driver properties can be matching or settings. So "drvargs" does not make sense.