From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: Re: [PATCH] doc: document the new devargs syntax Date: Thu, 25 Jan 2018 22:41:42 +0800 Message-ID: <20180125144142.GA29540@yliu-mob> References: <1516114218-21501-1-git-send-email-yliu@fridaylinux.org> <1680859.nSYTmhjtCR@xps> <20180124150428.GW29540@yliu-mob> <4586426.ySiLvJ04ZT@xps> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: =?iso-8859-1?Q?Ga=EBtan?= Rivet , Ferruh Yigit , dev@dpdk.org To: Thomas Monjalon Return-path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 66748A49F for ; Thu, 25 Jan 2018 15:41:48 +0100 (CET) Content-Disposition: inline In-Reply-To: <4586426.ySiLvJ04ZT@xps> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Jan 24, 2018 at 05:57:34PM +0100, Thomas Monjalon wrote: > 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. Then "port" should be settings, as it's used for adding a port. Moreover, "vf_id=0-3" is definitely settings (according your definition), as it's going to add 4 VF rep ports. --yliu > 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.