All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: "Chun Yan Liu" <cyliu@suse.com>
To: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Juergen Gross <JGross@suse.com>
Cc: Jim Fehlig <JFEHLIG@suse.com>, Simon Cao <caobosimon@gmail.com>,
	Wei Liu <wei.liu2@citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH V4 3/7] libxl: add pvusb API [and 1 more messages]
Date: Thu, 18 Jun 2015 00:24:36 -0600	[thread overview]
Message-ID: <5582D4A402000066000D885D@relay2.provo.novell.com> (raw)
In-Reply-To: <55814B9F.6070909@eu.citrix.com>



>>> On 6/17/2015 at 06:27 PM, in message <55814B9F.6070909@eu.citrix.com>, George
Dunlap <george.dunlap@eu.citrix.com> wrote: 
> On 06/17/2015 04:59 AM, Juergen Gross wrote: 
> > On 06/16/2015 06:34 PM, George Dunlap wrote: 
> >> On Tue, Jun 16, 2015 at 4:59 PM, Ian Jackson 
> >> <Ian.Jackson@eu.citrix.com> wrote: 
> >>> George Dunlap writes ("Re: [Xen-devel] [PATCH V4 3/7] libxl: add 
> >>> pvusb API [and 1 more messages]"): 
> >>>>> Yes.  The whole point of paths like this is that they are stable if 
> >>>>> the physical topology doesn't change.  So on my netbook 
> >>>>> 
> >>>>>    /dev/disk/by-path/pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0-part1 
> >>>>> 
> >>>>> always refers to the 1st MBR partition on logical device 0 on the USB 
> >>>>> storage device plugged into the USB port physically on the front left 
> >>>>> of the computer. 
> >>>> 
> >>>> That would be great if it were true, but I'm not convinced that the 
> >>>> above path doesn't include a globally-enumerated bus number, which 
> >>>> might 
> >>>> change across reboots if it's enumerated in a different order. 
> >>>> 
> >>>> It may be that the format above is *not* based on the sysfs path of the 
> >>>> device; that the '0' immediately after the USB means "the first (and 
> >>>> perhaps only) controller at this PCI address".  In which case, yes, 
> >>>> having a string like this might be a unique identifier for a particular 
> >>>> port that would be stable across reboots.  That needs some 
> >>>> investigation. 
> >>> 
> >>> That does seem to be the case: 
> >> 
> >> What seems to be the case -- that it contains the global bus, or not? 
> >> 
> >>> Looking at the output of udevadm monitor --property for sdc1 (on 
> >>> another plug): 
> >>> 
> >>>  
> DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/host22/target22:0:0 
> /22:0:0:0/block/sdc/sdc1 
> >>> 
> >>> ID_PATH=pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0 
> >>> ID_PATH_TAG=pci-0000_00_1d_7-usb-0_1_1_0-scsi-0_0_0_0 
> >>> 
> >>> I don't know where that ID_PATH comes from. 
> >> 
> >> It looks like that's constructed in udev: 
> >> 
> >>  
> http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-path_i 
> d.c 
> >> 
> >> 
> >> See handle_usb() (line 542) in particular. 
> >> 
> >> If I'm reading it right, what it basically does it take the 
> >> [bus]-[port], and replace it with usb-0:[port].  (IOW, the '0' is 
> >> hard-coded.) 
> >> 
> >> Also, if I'm reading it right, this won't work properly for Juergen's 
> >> system that has two USB devices at the same pci address -- they'll 
> >> both end up resolving to [pciaddr]-usb-0:[whatever]. 
> >> 
> >> Juergen -- can you give this a try?  Run "udevadm info" on the two USB 
> >> busses that share the same PCI slot, and see if the ID_PATH is the 
> >> same for both? 
> >  
> > This was the correct question. :-) 
> >  
> > The ID_PATH is the same, but: 
> >  
> > It turns out that the two busses are for one physical hcd. One is the 
> > bus for USB 3.0, the other one for USB 2.0. I guess the bus is just 
> > selected by the capability of the plugged in device. 
> >  
> > So the [port] in "usb-0:[port]" is unique across the two logical 
> > busses. 
>  
> Right -- I think I had come to the conclusion that would probably be the 
> case later yesterday evening.  Glad to  have it confirmed. 
>  
> So in addition to our other identifiers, stealing udev's naming scheme 
> should work, and would be useful. 
>  
> The next challenge would be how to implement it effectively.  It's 
> already udev's job to make sure that a string is unique -- as much as 
> possible we want to leverage their efforts, rather than re-implementing 
> our own. 
>  
> One thing that Ian suggested was that we could add a udev rule that 
> would create links from the ID_PATH of the usb device into the sysfs 
> device node.  (Both seem to be available in the udev rule environment.) 
>  That would allow us to easily translate the ID_PATH into the other 
> things we might want (bus-port, bus.addr, &c) and vice versa. 
>  
> But I think all that will certainly not be done by the feature freeze. 
>  
> The core functionality of Chunyan's series, wrt the pvusb functionality 
> is complete; as with my HVM series before, it's mainly the interface 
> that is being discussed. 
>  
> There are two options here: Chunyan could try to implement the interface 
> we've been discussing here (assuming that she doesn't have any 
> objections to what we've described);

No, I don't have any objections. I can do that.

- Chunyan

> or, I could take Chunyan's series, 
> try to implement what we've been talking about, and then add in the HVM 
> functionality as well. 
>  
> What does everyone think? 
>  
>  -George 
>  
>  
>  
>  

  reply	other threads:[~2015-06-18  6:24 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-10  3:20 [PATCH V4 0/7] xen pvusb toolstack work Chunyan Liu
2015-06-10  3:20 ` [PATCH V4 1/7] libxl: export some functions for pvusb use Chunyan Liu
2015-06-11 16:08   ` Ian Jackson
2015-06-11 16:28     ` Wei Liu
2015-06-12 15:14       ` Ian Jackson
2015-06-10  3:20 ` [PATCH V4 2/7] libxl_read_file_contents: add new entry to read sysfs file Chunyan Liu
2015-06-11 16:16   ` Ian Jackson
2015-06-12  7:00     ` Chun Yan Liu
2015-06-12 15:11       ` Ian Jackson
2015-06-10  3:20 ` [PATCH V4 3/7] libxl: add pvusb API Chunyan Liu
2015-06-11 15:00   ` Juergen Gross
2015-06-11 16:07     ` Ian Jackson
2015-06-11 16:42   ` Ian Jackson
2015-06-12  7:39     ` Chun Yan Liu
2015-06-12  8:06       ` Chun Yan Liu
2015-06-12 11:22       ` Ian Jackson
2015-06-15 14:17   ` George Dunlap
2015-06-15 14:25     ` Jürgen Groß
2015-06-15 14:34       ` George Dunlap
2015-06-15 18:26         ` Juergen Gross
2015-06-16 10:30           ` George Dunlap
2015-06-16 10:51             ` Juergen Gross
2015-06-16 11:11               ` George Dunlap
2015-06-16 11:19                 ` Juergen Gross
2015-06-16 11:23                   ` George Dunlap
2015-06-16 11:44                     ` Ian Jackson
2015-06-17 11:24                       ` Ian Campbell
2015-06-18 11:50                         ` George Dunlap
2015-06-18 12:08                         ` George Dunlap
2015-06-18 13:03                           ` Juergen Gross
2015-06-22 13:29                           ` Proposed plan for libxl USB interface (was Re: [PATCH V4 3/7] libxl: add pvusb API) George Dunlap
2015-06-22 14:14                             ` Juergen Gross
2015-06-22 14:22                             ` Ian Jackson
2015-06-23  2:42                             ` Chun Yan Liu
2015-06-23  2:43                             ` Chun Yan Liu
2015-06-23  2:44                             ` Chun Yan Liu
2015-06-16 10:41     ` [PATCH V4 3/7] libxl: add pvusb API Ian Jackson
2015-06-16 10:56       ` Jürgen Groß
2015-06-16 11:03         ` George Dunlap
2015-06-16 11:10         ` Ian Jackson
2015-06-16 11:25           ` Juergen Gross
2015-06-16 11:45             ` George Dunlap
2015-06-16 12:02               ` Ian Jackson
2015-06-16 13:19                 ` George Dunlap
2015-06-16 13:32                   ` Juergen Gross
2015-06-16 13:37                   ` [PATCH V4 3/7] libxl: add pvusb API [and 1 more messages] Ian Jackson
2015-06-16 14:41                     ` George Dunlap
2015-06-16 15:58                       ` Sander Eikelenboom
2015-06-16 15:59                       ` Ian Jackson
2015-06-16 16:34                         ` George Dunlap
2015-06-17  3:59                           ` Juergen Gross
2015-06-17 10:27                             ` George Dunlap
2015-06-18  6:24                               ` Chun Yan Liu [this message]
2015-06-16 11:45             ` [PATCH V4 3/7] libxl: add pvusb API Ian Jackson
2015-06-16 13:06               ` Juergen Gross
2015-06-16 13:09                 ` George Dunlap
2015-06-16 13:23                   ` Juergen Gross
2015-06-16 13:29                     ` George Dunlap
2015-06-16 13:49                       ` Juergen Gross
2015-06-16 14:06                         ` George Dunlap
2015-06-16 14:20                           ` Juergen Gross
2015-06-16 14:37                             ` George Dunlap
2015-06-17 11:34                             ` Ian Campbell
2015-06-17 11:40                               ` Juergen Gross
2015-06-18  6:20                               ` Chun Yan Liu
2015-06-18  7:02                                 ` Juergen Gross
2015-06-18  8:50                                   ` Ian Campbell
2015-06-18 13:02                                     ` Juergen Gross
2015-06-16 15:38             ` George Dunlap
2015-06-16 11:01       ` George Dunlap
2015-06-16 11:12         ` Ian Jackson
2015-06-16 11:21           ` George Dunlap
2015-06-16 16:32             ` Ian Jackson
2015-06-16 16:39               ` George Dunlap
2015-06-16 16:51                 ` Ross Philipson
2015-06-17  4:03                   ` Jürgen Groß
2015-06-17 13:48                     ` Ross Philipson
2015-06-15 17:47   ` George Dunlap
2015-06-23 10:18     ` Chun Yan Liu
2015-06-23 11:29       ` George Dunlap
2015-06-24  2:26         ` Chun Yan Liu
2015-06-10  3:20 ` [PATCH V4 4/7] libxl: add libxl_device_usb_assignable_list API Chunyan Liu
2015-06-10  3:20 ` [PATCH V4 5/7] xl: add pvusb commands Chunyan Liu
2015-06-12  7:37   ` Juergen Gross
2015-06-12  8:03     ` Chun Yan Liu
2015-06-12  8:22       ` Juergen Gross
2015-06-10  3:20 ` [PATCH V4 6/7] xl: add usb-assignable-list command Chunyan Liu
2015-06-10  3:20 ` [PATCH V4 7/7] domcreate: support pvusb in configuration file Chunyan Liu

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=5582D4A402000066000D885D@relay2.provo.novell.com \
    --to=cyliu@suse.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JFEHLIG@suse.com \
    --cc=JGross@suse.com \
    --cc=caobosimon@gmail.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.