Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1238381 > unrolled thread
| Started by | Roger Pau Monné <roger.pau@citrix.com> |
|---|---|
| First post | 2015-10-02 18:10 +0200 |
| Last post | 2015-10-03 02:00 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings Roger Pau Monné <roger.pau@citrix.com> - 2015-10-02 18:10 +0200
Re: [Xen-devel] [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings Wei Liu <wei.liu2@citrix.com> - 2015-10-02 18:20 +0200
Re: [Xen-devel] [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings Roger Pau Monné <roger.pau@citrix.com> - 2015-10-02 18:30 +0200
Re: [Xen-devel] [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings Bob Liu <bob.liu@oracle.com> - 2015-10-03 02:00 +0200
| From | Roger Pau Monné <roger.pau@citrix.com> |
|---|---|
| Date | 2015-10-02 18:10 +0200 |
| Subject | Re: [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings |
| Message-ID | <qfb4d-8hp-7@gated-at.bofh.it> |
El 05/09/15 a les 14.39, Bob Liu ha escrit: > Document multi queues/rings of xen-block. > > Signed-off-by: Bob Liu <bob.liu@oracle.com> As said by Konrad, you should send this against the Xen public headers also (or even before). I have a comment below. > --- > include/xen/interface/io/blkif.h | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h > index c33e1c4..b453b70 100644 > --- a/include/xen/interface/io/blkif.h > +++ b/include/xen/interface/io/blkif.h > @@ -28,6 +28,38 @@ typedef uint16_t blkif_vdev_t; > typedef uint64_t blkif_sector_t; > > /* > + * Multiple hardware queues/rings: > + * If supported, the backend will write the key "multi-queue-max-queues" to > + * the directory for that vbd, and set its value to the maximum supported > + * number of queues. > + * Frontends that are aware of this feature and wish to use it can write the > + * key "multi-queue-num-queues", set to the number they wish to use, which > + * must be greater than zero, and no more than the value reported by the backend > + * in "multi-queue-max-queues". > + * > + * For frontends requesting just one queue, the usual event-channel and > + * ring-ref keys are written as before, simplifying the backend processing > + * to avoid distinguishing between a frontend that doesn't understand the > + * multi-queue feature, and one that does, but requested only one queue. > + * > + * Frontends requesting two or more queues must not write the toplevel > + * event-channeland ring-ref keys, instead writing those keys under sub-keys > + * having the name "queue-N" where N is the integer ID of the queue/ring for > + * which those keys belong. Queues are indexed from zero. > + * For example, a frontend with two queues must write the following set of > + * queue-related keys: > + * > + * /local/domain/1/device/vbd/0/multi-queue-num-queues = "2" > + * /local/domain/1/device/vbd/0/queue-0 = "" > + * /local/domain/1/device/vbd/0/queue-0/ring-ref = "<ring-ref>" > + * /local/domain/1/device/vbd/0/queue-0/event-channel = "<evtchn>" > + * /local/domain/1/device/vbd/0/queue-1 = "" > + * /local/domain/1/device/vbd/0/queue-1/ring-ref = "<ring-ref>" > + * /local/domain/1/device/vbd/0/queue-1/event-channel = "<evtchn>" AFAICT, it's impossible by design to use multiple queues together with multipage rings, is that right? Roger. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Wei Liu <wei.liu2@citrix.com> |
|---|---|
| Date | 2015-10-02 18:20 +0200 |
| Subject | Re: [Xen-devel] [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings |
| Message-ID | <qfbdU-8tf-3@gated-at.bofh.it> |
| In reply to | #1238381 |
On Fri, Oct 02, 2015 at 06:04:35PM +0200, Roger Pau Monné wrote: > El 05/09/15 a les 14.39, Bob Liu ha escrit: > > Document multi queues/rings of xen-block. > > > > Signed-off-by: Bob Liu <bob.liu@oracle.com> > > As said by Konrad, you should send this against the Xen public headers > also (or even before). I have a comment below. > > > --- > > include/xen/interface/io/blkif.h | 32 ++++++++++++++++++++++++++++++++ > > 1 file changed, 32 insertions(+) > > > > diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h > > index c33e1c4..b453b70 100644 > > --- a/include/xen/interface/io/blkif.h > > +++ b/include/xen/interface/io/blkif.h > > @@ -28,6 +28,38 @@ typedef uint16_t blkif_vdev_t; > > typedef uint64_t blkif_sector_t; > > > > /* > > + * Multiple hardware queues/rings: > > + * If supported, the backend will write the key "multi-queue-max-queues" to > > + * the directory for that vbd, and set its value to the maximum supported > > + * number of queues. > > + * Frontends that are aware of this feature and wish to use it can write the > > + * key "multi-queue-num-queues", set to the number they wish to use, which > > + * must be greater than zero, and no more than the value reported by the backend > > + * in "multi-queue-max-queues". > > + * > > + * For frontends requesting just one queue, the usual event-channel and > > + * ring-ref keys are written as before, simplifying the backend processing > > + * to avoid distinguishing between a frontend that doesn't understand the > > + * multi-queue feature, and one that does, but requested only one queue. > > + * > > + * Frontends requesting two or more queues must not write the toplevel > > + * event-channeland ring-ref keys, instead writing those keys under sub-keys > > + * having the name "queue-N" where N is the integer ID of the queue/ring for > > + * which those keys belong. Queues are indexed from zero. > > + * For example, a frontend with two queues must write the following set of > > + * queue-related keys: > > + * > > + * /local/domain/1/device/vbd/0/multi-queue-num-queues = "2" > > + * /local/domain/1/device/vbd/0/queue-0 = "" > > + * /local/domain/1/device/vbd/0/queue-0/ring-ref = "<ring-ref>" > > + * /local/domain/1/device/vbd/0/queue-0/event-channel = "<evtchn>" > > + * /local/domain/1/device/vbd/0/queue-1 = "" > > + * /local/domain/1/device/vbd/0/queue-1/ring-ref = "<ring-ref>" > > + * /local/domain/1/device/vbd/0/queue-1/event-channel = "<evtchn>" > > AFAICT, it's impossible by design to use multiple queues together with > multipage rings, is that right? > As far as I can tell, these two features are not inherently coupled. Whether you want to make (by design) them coupled together or not is another matter. :-) > Roger. > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Roger Pau Monné <roger.pau@citrix.com> |
|---|---|
| Date | 2015-10-02 18:30 +0200 |
| Subject | Re: [Xen-devel] [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings |
| Message-ID | <qfbnB-cS-31@gated-at.bofh.it> |
| In reply to | #1238384 |
El 02/10/15 a les 18.12, Wei Liu ha escrit: > On Fri, Oct 02, 2015 at 06:04:35PM +0200, Roger Pau Monné wrote: >> El 05/09/15 a les 14.39, Bob Liu ha escrit: >>> Document multi queues/rings of xen-block. >>> >>> Signed-off-by: Bob Liu <bob.liu@oracle.com> >> >> As said by Konrad, you should send this against the Xen public headers >> also (or even before). I have a comment below. >> >>> --- >>> include/xen/interface/io/blkif.h | 32 ++++++++++++++++++++++++++++++++ >>> 1 file changed, 32 insertions(+) >>> >>> diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h >>> index c33e1c4..b453b70 100644 >>> --- a/include/xen/interface/io/blkif.h >>> +++ b/include/xen/interface/io/blkif.h >>> @@ -28,6 +28,38 @@ typedef uint16_t blkif_vdev_t; >>> typedef uint64_t blkif_sector_t; >>> >>> /* >>> + * Multiple hardware queues/rings: >>> + * If supported, the backend will write the key "multi-queue-max-queues" to >>> + * the directory for that vbd, and set its value to the maximum supported >>> + * number of queues. >>> + * Frontends that are aware of this feature and wish to use it can write the >>> + * key "multi-queue-num-queues", set to the number they wish to use, which >>> + * must be greater than zero, and no more than the value reported by the backend >>> + * in "multi-queue-max-queues". >>> + * >>> + * For frontends requesting just one queue, the usual event-channel and >>> + * ring-ref keys are written as before, simplifying the backend processing >>> + * to avoid distinguishing between a frontend that doesn't understand the >>> + * multi-queue feature, and one that does, but requested only one queue. >>> + * >>> + * Frontends requesting two or more queues must not write the toplevel >>> + * event-channeland ring-ref keys, instead writing those keys under sub-keys >>> + * having the name "queue-N" where N is the integer ID of the queue/ring for >>> + * which those keys belong. Queues are indexed from zero. >>> + * For example, a frontend with two queues must write the following set of >>> + * queue-related keys: >>> + * >>> + * /local/domain/1/device/vbd/0/multi-queue-num-queues = "2" >>> + * /local/domain/1/device/vbd/0/queue-0 = "" >>> + * /local/domain/1/device/vbd/0/queue-0/ring-ref = "<ring-ref>" >>> + * /local/domain/1/device/vbd/0/queue-0/event-channel = "<evtchn>" >>> + * /local/domain/1/device/vbd/0/queue-1 = "" >>> + * /local/domain/1/device/vbd/0/queue-1/ring-ref = "<ring-ref>" >>> + * /local/domain/1/device/vbd/0/queue-1/event-channel = "<evtchn>" >> >> AFAICT, it's impossible by design to use multiple queues together with >> multipage rings, is that right? >> > > As far as I can tell, these two features are not inherently coupled. > Whether you want to make (by design) them coupled together or not is > another matter. :-) I haven't looked at the implementation yet, but some mention of whether multipage-rings are allowed with multiqueue would be good. For example if both can indeed be used in conjunction I would mention: If multi-page rings are also used, the format of the grant references will be: /local/domain/1/device/vbd/0/queue-0/ring-ref0 = "<ring-ref0>" /local/domain/1/device/vbd/0/queue-0/ring-ref1 = "<ring-ref1>" /local/domain/1/device/vbd/0/queue-0/ring-ref2 = "<ring-ref2>" [...] Roger. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Bob Liu <bob.liu@oracle.com> |
|---|---|
| Date | 2015-10-03 02:00 +0200 |
| Subject | Re: [Xen-devel] [PATCH v3 2/9] xen-block: add document for mutli hardware queues/rings |
| Message-ID | <qfip4-1IO-11@gated-at.bofh.it> |
| In reply to | #1238395 |
On 10/03/2015 12:22 AM, Roger Pau Monné wrote: > El 02/10/15 a les 18.12, Wei Liu ha escrit: >> On Fri, Oct 02, 2015 at 06:04:35PM +0200, Roger Pau Monné wrote: >>> El 05/09/15 a les 14.39, Bob Liu ha escrit: >>>> Document multi queues/rings of xen-block. >>>> >>>> Signed-off-by: Bob Liu <bob.liu@oracle.com> >>> >>> As said by Konrad, you should send this against the Xen public headers >>> also (or even before). I have a comment below. >>> Sure, I'll do that and also rebase this series after get more comments. >>>> --- >>>> include/xen/interface/io/blkif.h | 32 ++++++++++++++++++++++++++++++++ >>>> 1 file changed, 32 insertions(+) >>>> >>>> diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h >>>> index c33e1c4..b453b70 100644 >>>> --- a/include/xen/interface/io/blkif.h >>>> +++ b/include/xen/interface/io/blkif.h >>>> @@ -28,6 +28,38 @@ typedef uint16_t blkif_vdev_t; >>>> typedef uint64_t blkif_sector_t; >>>> >>>> /* >>>> + * Multiple hardware queues/rings: >>>> + * If supported, the backend will write the key "multi-queue-max-queues" to >>>> + * the directory for that vbd, and set its value to the maximum supported >>>> + * number of queues. >>>> + * Frontends that are aware of this feature and wish to use it can write the >>>> + * key "multi-queue-num-queues", set to the number they wish to use, which >>>> + * must be greater than zero, and no more than the value reported by the backend >>>> + * in "multi-queue-max-queues". >>>> + * >>>> + * For frontends requesting just one queue, the usual event-channel and >>>> + * ring-ref keys are written as before, simplifying the backend processing >>>> + * to avoid distinguishing between a frontend that doesn't understand the >>>> + * multi-queue feature, and one that does, but requested only one queue. >>>> + * >>>> + * Frontends requesting two or more queues must not write the toplevel >>>> + * event-channeland ring-ref keys, instead writing those keys under sub-keys >>>> + * having the name "queue-N" where N is the integer ID of the queue/ring for >>>> + * which those keys belong. Queues are indexed from zero. >>>> + * For example, a frontend with two queues must write the following set of >>>> + * queue-related keys: >>>> + * >>>> + * /local/domain/1/device/vbd/0/multi-queue-num-queues = "2" >>>> + * /local/domain/1/device/vbd/0/queue-0 = "" >>>> + * /local/domain/1/device/vbd/0/queue-0/ring-ref = "<ring-ref>" >>>> + * /local/domain/1/device/vbd/0/queue-0/event-channel = "<evtchn>" >>>> + * /local/domain/1/device/vbd/0/queue-1 = "" >>>> + * /local/domain/1/device/vbd/0/queue-1/ring-ref = "<ring-ref>" >>>> + * /local/domain/1/device/vbd/0/queue-1/event-channel = "<evtchn>" >>> >>> AFAICT, it's impossible by design to use multiple queues together with >>> multipage rings, is that right? >>> >> >> As far as I can tell, these two features are not inherently coupled. >> Whether you want to make (by design) them coupled together or not is >> another matter. :-) > > I haven't looked at the implementation yet, but some mention of whether > multipage-rings are allowed with multiqueue would be good. For example > if both can indeed be used in conjunction I would mention: > > If multi-page rings are also used, the format of the grant references > will be: > > /local/domain/1/device/vbd/0/queue-0/ring-ref0 = "<ring-ref0>" > /local/domain/1/device/vbd/0/queue-0/ring-ref1 = "<ring-ref1>" > /local/domain/1/device/vbd/0/queue-0/ring-ref2 = "<ring-ref2>" > [...] > True, and this is already supported. I'll update the document next version. -- Regards, -Bob -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web