All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	boris.ostrovsky@oracle.com,
	Stefano Stabellini <stefano@aporeto.com>,
	Eric Van Hensbergen <ericvh@gmail.com>,
	Ron Minnich <rminnich@sandia.gov>,
	Latchesar Ionkov <lucho@ionkov.net>,
	v9fs-developer@lists.sourceforge.net
Subject: Re: [PATCH v3 4/7] xen/9pfs: connect to the backend
Date: Thu, 16 Mar 2017 06:54:12 +0100	[thread overview]
Message-ID: <f1ff4943-1eb7-e014-b514-35b88f5edfdf@suse.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1703151142420.4807@sstabellini-ThinkPad-X260>

On 15/03/17 19:44, Stefano Stabellini wrote:
> On Wed, 15 Mar 2017, Juergen Gross wrote:
>> On 14/03/17 22:22, Stefano Stabellini wrote:
>>> Hi Juergen,
>>>
>>> thank you for the review!
>>>
>>> On Tue, 14 Mar 2017, Juergen Gross wrote:
>>>> On 14/03/17 00:50, Stefano Stabellini wrote:
>>>>> Implement functions to handle the xenbus handshake. Upon connection,
>>>>> allocate the rings according to the protocol specification.
>>>>>
>>>>> Initialize a work_struct and a wait_queue. The work_struct will be used
>>>>> to schedule work upon receiving an event channel notification from the
>>>>> backend. The wait_queue will be used to wait when the ring is full and
>>>>> we need to send a new request.
>>>>>
>>>>> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
>>>>> CC: boris.ostrovsky@oracle.com
>>>>> CC: jgross@suse.com
>>>>> CC: Eric Van Hensbergen <ericvh@gmail.com>
>>>>> CC: Ron Minnich <rminnich@sandia.gov>
>>>>> CC: Latchesar Ionkov <lucho@ionkov.net>
>>>>> CC: v9fs-developer@lists.sourceforge.net
>>>>> ---
>>
>>>> Did you think about using request_threaded_irq() instead of a workqueue?
>>>> For an example see e.g. drivers/scsi/xen-scsifront.c
>>>
>>> I like workqueues :-)  It might come down to personal preferences, but I
>>> think workqueues are more flexible and a better fit for this use case.
>>> Not only it is easy to schedule work in a workqueue from the interrupt
>>> handler, but also they can be used for sleeping in the request function
>>> if there is not enough room on the ring. Besides, they can easily be
>>> configured to share a single thread or to have multiple independent
>>> threads.
>>
>> I'm fine with the workqueues as long as you have decided to use them
>> considering the alternatives. :-)
>>
>>>> Can't you use xenbus_read_unsigned() instead of xenbus_read()?
>>>
>>> I can use xenbus_read_unsigned in the other cases below, but not here,
>>> because versions is in the form: "1,3,4"
>>
>> Is this documented somewhere?
>>
>> Hmm, are any of the Xenstore entries documented? Shouldn't this be done
>> in xen_9pfs.h ?
>  
> They are documented in docs/misc/9pfs.markdown, under "Xenstore". Given
> that it's all written there, especially the semantics, I didn't repeat
> it in xen_9pfs.h

Looking at it from the Linux kernel perspective this documentation is
not really highly visible. For me it is okay, but there have been
multiple examples in the past where documentation in the Xen repository
wasn't regarded as being sufficient.

I recommend moving the documentation regarding the interface into the
header file like for the other pv interfaces.


Juergen

WARNING: multiple messages have this Message-ID (diff)
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Latchesar Ionkov <lucho@ionkov.net>,
	Eric Van Hensbergen <ericvh@gmail.com>,
	linux-kernel@vger.kernel.org,
	Stefano Stabellini <stefano@aporeto.com>,
	v9fs-developer@lists.sourceforge.net,
	Ron Minnich <rminnich@sandia.gov>,
	xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com
Subject: Re: [PATCH v3 4/7] xen/9pfs: connect to the backend
Date: Thu, 16 Mar 2017 06:54:12 +0100	[thread overview]
Message-ID: <f1ff4943-1eb7-e014-b514-35b88f5edfdf@suse.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1703151142420.4807@sstabellini-ThinkPad-X260>

On 15/03/17 19:44, Stefano Stabellini wrote:
> On Wed, 15 Mar 2017, Juergen Gross wrote:
>> On 14/03/17 22:22, Stefano Stabellini wrote:
>>> Hi Juergen,
>>>
>>> thank you for the review!
>>>
>>> On Tue, 14 Mar 2017, Juergen Gross wrote:
>>>> On 14/03/17 00:50, Stefano Stabellini wrote:
>>>>> Implement functions to handle the xenbus handshake. Upon connection,
>>>>> allocate the rings according to the protocol specification.
>>>>>
>>>>> Initialize a work_struct and a wait_queue. The work_struct will be used
>>>>> to schedule work upon receiving an event channel notification from the
>>>>> backend. The wait_queue will be used to wait when the ring is full and
>>>>> we need to send a new request.
>>>>>
>>>>> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
>>>>> CC: boris.ostrovsky@oracle.com
>>>>> CC: jgross@suse.com
>>>>> CC: Eric Van Hensbergen <ericvh@gmail.com>
>>>>> CC: Ron Minnich <rminnich@sandia.gov>
>>>>> CC: Latchesar Ionkov <lucho@ionkov.net>
>>>>> CC: v9fs-developer@lists.sourceforge.net
>>>>> ---
>>
>>>> Did you think about using request_threaded_irq() instead of a workqueue?
>>>> For an example see e.g. drivers/scsi/xen-scsifront.c
>>>
>>> I like workqueues :-)  It might come down to personal preferences, but I
>>> think workqueues are more flexible and a better fit for this use case.
>>> Not only it is easy to schedule work in a workqueue from the interrupt
>>> handler, but also they can be used for sleeping in the request function
>>> if there is not enough room on the ring. Besides, they can easily be
>>> configured to share a single thread or to have multiple independent
>>> threads.
>>
>> I'm fine with the workqueues as long as you have decided to use them
>> considering the alternatives. :-)
>>
>>>> Can't you use xenbus_read_unsigned() instead of xenbus_read()?
>>>
>>> I can use xenbus_read_unsigned in the other cases below, but not here,
>>> because versions is in the form: "1,3,4"
>>
>> Is this documented somewhere?
>>
>> Hmm, are any of the Xenstore entries documented? Shouldn't this be done
>> in xen_9pfs.h ?
>  
> They are documented in docs/misc/9pfs.markdown, under "Xenstore". Given
> that it's all written there, especially the semantics, I didn't repeat
> it in xen_9pfs.h

Looking at it from the Linux kernel perspective this documentation is
not really highly visible. For me it is okay, but there have been
multiple examples in the past where documentation in the Xen repository
wasn't regarded as being sufficient.

I recommend moving the documentation regarding the interface into the
header file like for the other pv interfaces.


Juergen


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-03-16  5:54 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-13 23:50 [PATCH v3 0/7] Xen transport for 9pfs frontend driver Stefano Stabellini
2017-03-13 23:50 ` [PATCH v3 1/7] xen: import new ring macros in ring.h Stefano Stabellini
2017-03-13 23:50   ` [PATCH v3 2/7] xen: introduce the header file for the Xen 9pfs transport protocol Stefano Stabellini
2017-03-13 23:50   ` Stefano Stabellini
2017-03-13 23:50   ` [PATCH v3 3/7] xen/9pfs: introduce Xen 9pfs transport driver Stefano Stabellini
2017-03-14  6:24     ` Juergen Gross
2017-03-14 20:26       ` Stefano Stabellini
2017-03-14 20:26       ` Stefano Stabellini
2017-03-14  6:24     ` Juergen Gross
2017-03-13 23:50   ` Stefano Stabellini
2017-03-13 23:50   ` [PATCH v3 4/7] xen/9pfs: connect to the backend Stefano Stabellini
2017-03-14  6:41     ` Juergen Gross
2017-03-14  6:41     ` Juergen Gross
2017-03-14 21:22       ` Stefano Stabellini
2017-03-14 21:22       ` Stefano Stabellini
2017-03-15  5:08         ` Juergen Gross
2017-03-15  5:08         ` Juergen Gross
2017-03-15 18:44           ` Stefano Stabellini
2017-03-15 18:44             ` Stefano Stabellini
2017-03-16  5:54             ` Juergen Gross [this message]
2017-03-16  5:54               ` Juergen Gross
2017-03-16 18:03               ` Stefano Stabellini
2017-03-16 18:03               ` Stefano Stabellini
2017-03-17  4:54                 ` Juergen Gross
2017-03-17  4:54                 ` Juergen Gross
2017-03-17 15:13                   ` [Xen-devel] " Konrad Rzeszutek Wilk
2017-03-17 15:13                     ` Konrad Rzeszutek Wilk
2017-03-17 20:55                     ` [Xen-devel] " Stefano Stabellini
2017-03-17 20:55                       ` Stefano Stabellini
2017-03-13 23:50   ` Stefano Stabellini
2017-03-13 23:50   ` [PATCH v3 5/7] xen/9pfs: send requests " Stefano Stabellini
2017-03-13 23:50     ` Stefano Stabellini
2017-03-13 23:50   ` [PATCH v3 6/7] xen/9pfs: receive responses Stefano Stabellini
2017-03-13 23:50     ` Stefano Stabellini
2017-03-14  7:04     ` Juergen Gross
2017-03-14  7:04     ` Juergen Gross
2017-03-14 20:32       ` Stefano Stabellini
2017-03-14 20:32       ` Stefano Stabellini
2017-03-13 23:50   ` [PATCH v3 7/7] xen/9pfs: build 9pfs Xen transport driver Stefano Stabellini
2017-03-14  7:05     ` Juergen Gross
2017-03-14  7:05     ` Juergen Gross
2017-03-13 23:50   ` Stefano Stabellini
2017-03-13 23:50 ` [PATCH v3 1/7] xen: import new ring macros in ring.h Stefano Stabellini
2017-03-15 16:30 ` [PATCH v3 0/7] Xen transport for 9pfs frontend driver Greg Kurz
2017-03-15 19:12   ` Stefano Stabellini

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=f1ff4943-1eb7-e014-b514-35b88f5edfdf@suse.com \
    --to=jgross@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=ericvh@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lucho@ionkov.net \
    --cc=rminnich@sandia.gov \
    --cc=sstabellini@kernel.org \
    --cc=stefano@aporeto.com \
    --cc=v9fs-developer@lists.sourceforge.net \
    --cc=xen-devel@lists.xenproject.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.