On Tuesday, December 04, 2012 09:35:03 AM Michael S. Tsirkin wrote:
> On Mon, Dec 03, 2012 at 06:30:49PM +0800, Jason Wang wrote:
> > On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
> > > On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
> > >> > - if (!try_fill_recv(>rq,
On Monday, December 03, 2012 01:11:18 PM Michael S. Tsirkin wrote:
> On Mon, Dec 03, 2012 at 06:01:58PM +0800, Jason Wang wrote:
> > On 12/03/2012 05:47 PM, Michael S. Tsirkin wrote:
> > > On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
> > >> On Monday, December 03, 2012 12:34:08 PM
On Monday, December 03, 2012 01:11:18 PM Michael S. Tsirkin wrote:
On Mon, Dec 03, 2012 at 06:01:58PM +0800, Jason Wang wrote:
On 12/03/2012 05:47 PM, Michael S. Tsirkin wrote:
On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
On Monday, December 03, 2012 12:34:08 PM Rusty
On Tuesday, December 04, 2012 09:35:03 AM Michael S. Tsirkin wrote:
On Mon, Dec 03, 2012 at 06:30:49PM +0800, Jason Wang wrote:
On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
- if (!try_fill_recv(vi-rq, GFP_KERNEL))
On Mon, Dec 03, 2012 at 06:30:49PM +0800, Jason Wang wrote:
> On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
> > On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
> >> > -if (!try_fill_recv(>rq, GFP_KERNEL))
> >> > -schedule_delayed_work(>rq.refill, 0);
> >> >
On Mon, Dec 03, 2012 at 06:01:58PM +0800, Jason Wang wrote:
> On 12/03/2012 05:47 PM, Michael S. Tsirkin wrote:
> > On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
> >> On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
> >>> Jason Wang writes:
> +static const struct
On Mon, Dec 03, 2012 at 06:30:49PM +0800, Jason Wang wrote:
> On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
> > On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
> >> > -if (!try_fill_recv(>rq, GFP_KERNEL))
> >> > -schedule_delayed_work(>rq.refill, 0);
> >> >
On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
> On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
>> > - if (!try_fill_recv(>rq, GFP_KERNEL))
>> > - schedule_delayed_work(>rq.refill, 0);
>> > + for (i = 0; i < vi->max_queue_pairs; i++)
>> > + if
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
> - if (!try_fill_recv(>rq, GFP_KERNEL))
> - schedule_delayed_work(>rq.refill, 0);
> + for (i = 0; i < vi->max_queue_pairs; i++)
> + if (!try_fill_recv(>rq[i], GFP_KERNEL))
> +
On 12/03/2012 05:47 PM, Michael S. Tsirkin wrote:
> On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
>> On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
>>> Jason Wang writes:
+static const struct ethtool_ops virtnet_ethtool_ops;
+
+/*
+ * Converting
On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
> On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
> > Jason Wang writes:
> > > +static const struct ethtool_ops virtnet_ethtool_ops;
> > > +
> > > +/*
> > > + * Converting between virtqueue no. and kernel tx/rx queue no.
>
On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
Jason Wang jasow...@redhat.com writes:
+static const struct ethtool_ops virtnet_ethtool_ops;
+
+/*
+ * Converting between virtqueue no. and kernel tx/rx queue
On 12/03/2012 05:47 PM, Michael S. Tsirkin wrote:
On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
Jason Wang jasow...@redhat.com writes:
+static const struct ethtool_ops virtnet_ethtool_ops;
+
+/*
+ * Converting
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
- if (!try_fill_recv(vi-rq, GFP_KERNEL))
- schedule_delayed_work(vi-rq.refill, 0);
+ for (i = 0; i vi-max_queue_pairs; i++)
+ if (!try_fill_recv(vi-rq[i], GFP_KERNEL))
+
On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
- if (!try_fill_recv(vi-rq, GFP_KERNEL))
- schedule_delayed_work(vi-rq.refill, 0);
+ for (i = 0; i vi-max_queue_pairs; i++)
+ if (!try_fill_recv(vi-rq[i],
On Mon, Dec 03, 2012 at 06:30:49PM +0800, Jason Wang wrote:
On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
-if (!try_fill_recv(vi-rq, GFP_KERNEL))
-schedule_delayed_work(vi-rq.refill, 0);
+
On Mon, Dec 03, 2012 at 06:01:58PM +0800, Jason Wang wrote:
On 12/03/2012 05:47 PM, Michael S. Tsirkin wrote:
On Mon, Dec 03, 2012 at 02:05:27PM +0800, Jason Wang wrote:
On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
Jason Wang jasow...@redhat.com writes:
+static const
On Mon, Dec 03, 2012 at 06:30:49PM +0800, Jason Wang wrote:
On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
-if (!try_fill_recv(vi-rq, GFP_KERNEL))
-schedule_delayed_work(vi-rq.refill, 0);
+
On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
> Jason Wang writes:
> > +static const struct ethtool_ops virtnet_ethtool_ops;
> > +
> > +/*
> > + * Converting between virtqueue no. and kernel tx/rx queue no.
> > + * 0:rx0 1:tx0 2:cvq 3:rx1 4:tx1 ... 2N+1:rxN 2N+2:txN
> > + */
> >
On Sunday, December 02, 2012 06:06:31 PM Michael S. Tsirkin wrote:
> On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
> > This addes multiqueue support to virtio_net driver. In multiple queue
> > modes, the driver expects the number of queue paris is equal to the
> > number of vcpus. To
Jason Wang writes:
> +static const struct ethtool_ops virtnet_ethtool_ops;
> +
> +/*
> + * Converting between virtqueue no. and kernel tx/rx queue no.
> + * 0:rx0 1:tx0 2:cvq 3:rx1 4:tx1 ... 2N+1:rxN 2N+2:txN
> + */
> +static int vq2txq(struct virtqueue *vq)
> +{
> + int index =
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
> This addes multiqueue support to virtio_net driver. In multiple queue modes,
> the
> driver expects the number of queue paris is equal to the number of vcpus. To
> eliminate the contention bettwen vcpus and virtqueues, per-cpu
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
This addes multiqueue support to virtio_net driver. In multiple queue modes,
the
driver expects the number of queue paris is equal to the number of vcpus. To
eliminate the contention bettwen vcpus and virtqueues, per-cpu virtqueue
Jason Wang jasow...@redhat.com writes:
+static const struct ethtool_ops virtnet_ethtool_ops;
+
+/*
+ * Converting between virtqueue no. and kernel tx/rx queue no.
+ * 0:rx0 1:tx0 2:cvq 3:rx1 4:tx1 ... 2N+1:rxN 2N+2:txN
+ */
+static int vq2txq(struct virtqueue *vq)
+{
+ int index =
On Sunday, December 02, 2012 06:06:31 PM Michael S. Tsirkin wrote:
On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
This addes multiqueue support to virtio_net driver. In multiple queue
modes, the driver expects the number of queue paris is equal to the
number of vcpus. To
On Monday, December 03, 2012 12:34:08 PM Rusty Russell wrote:
Jason Wang jasow...@redhat.com writes:
+static const struct ethtool_ops virtnet_ethtool_ops;
+
+/*
+ * Converting between virtqueue no. and kernel tx/rx queue no.
+ * 0:rx0 1:tx0 2:cvq 3:rx1 4:tx1 ... 2N+1:rxN 2N+2:txN
+ */
This addes multiqueue support to virtio_net driver. In multiple queue modes, the
driver expects the number of queue paris is equal to the number of vcpus. To
eliminate the contention bettwen vcpus and virtqueues, per-cpu virtqueue pairs
were implemented through:
- select the txq based on the smp
This addes multiqueue support to virtio_net driver. In multiple queue modes, the
driver expects the number of queue paris is equal to the number of vcpus. To
eliminate the contention bettwen vcpus and virtqueues, per-cpu virtqueue pairs
were implemented through:
- select the txq based on the smp
28 matches
Mail list logo