Hi
Thank you for the patch.
vhost-blk didn't spark enough interest to be reviewed and merged into
the upstream and the code is not present here.
I have forwarded your patch to relevant openvz kernel mailing list.
On 5/17/24 07:34, Lynch wrote:
---
drivers/vhost/blk.c | 6 --
1 file
8 queues is too few, for example vhost-scsi have 128.
Increase to 32 queues max, as we do not want to eat too much
memory. As for performance, 32 queues will top around 3M iops,
which should be fine for almost all cases
https://virtuozzo.atlassian.net/browse/PSBM-152241
Signed-off-by: Andrey
Finally add ioctl to allow userspace to create additional workers
For now only allow to increase the number of workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
==
Patchset description:
vhost-blk: in-kernel accelerator for virtio-blk guests
Although QEMU virtio
ris...@oracle.com>
Signed-off-by: Michael S. Tsirkin
-
(cherry picked from ms commit 737bdb643c4f)
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 25 +++--
drivers/vhost/vhost.h | 1 +
2 files chang
|
vhost-blk, 1vcpu | 110k | 113k |
vhost-blk, 2vcpu | 247k | 252k |
vhost-blk, 4vcpu | 558k | 556k |
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
==
Patchset description:
vhost-blk: in-kernel accelerator
polls/vqs
we need to know the mappings.
Signed-off-by: Mike Christie
Message-Id: <20230626232307.97930-8-michael.chris...@oracle.com>
Signed-off-by: Michael S. Tsirkin
(cherry picked from ms commit 493b94bf5ae0)
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by:
the drivers
are converted in the next patches.
Signed-off-by: Mike Christie
Message-Id: <20230626232307.97930-6-michael.chris...@oracle.com>
Signed-off-by: Michael S. Tsirkin
(cherry picked from ms commit 0921dddcb589)
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by:
-by: Mike Christie
Message-Id: <20230626232307.97930-7-michael.chris...@oracle.com>
Signed-off-by: Michael S. Tsirkin
(cherry picked from ms commit a6fc04739be7)
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.
ris...@oracle.com>
Signed-off-by: Michael S. Tsirkin
Also rework vhost_work_queue() to use any worker. We are not going
to add patches that rework all its usages.
(cherry picked from ms commit 1cdaafa1b8b4)
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by: Andrey Zhad
From: Konstantin Khorenko
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Konstantin Khorenko
Feature: vhost-blk: in-kernel accelerator for virtio-blk guests
---
...rnel_accelerator_for_virtio_blk_guests.rst | 85 +++
1 file changed, 85 insertions(+)
create mode 100644
into new RHEL tree.
This series cherry-picks the most of ms patches, except for the new worker
managing API and vhost-net, scsi, etc. upgrades. We will wait till RH decide
to merge them all.
>From our old patchset we will use vhost-blk patch itself and API patch.
Andrey Zhadchenko (3):
driv
-by: Jason Wang
Message-Id: <20230626232307.97930-5-michael.chris...@oracle.com>
Signed-off-by: Michael S. Tsirkin
-
(cherry picked from ms commit 9784df151a60)
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/net.c | 2 +-
drivers
ed-off-by: Michael S. Tsirkin
-
Half of this commit is already present. Add the rest.
(cherry picked from ms commit c011bb669ddc)
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 20
drivers/vhost/vhost.h | 2
Update vhost_attach_cgroups() to operate with specific worker
rather than global vhost device functions
https://virtuozzo.atlassian.net/browse/PSBM-152375
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
Move code that calculates qio front bytes type and amount into a new
helper. Increase code clarity.
This will be used later for llseek_hole()
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
v3: reworked
Add braces around arguments so callers can use equations while
calling these macros.
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-ploop.h | 8
1 file changed, 4 insertions(+), 4
push_backup dm module llseek_hole() should just call the same function
from it's origin bdev
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-push-backup.c | 12
1 file changed
When looking for SEEK_HOLE, we would like to check if cluster is locked
without valid pio
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-ploop-map.c | 2 +-
1 file changed, 1 insertion(+), 1
Add new function for block_device_operations, which will be used
for SEEK_HOLE and SEEK_DATA llseek calls
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
v2: fix critical bug: do not (SEEK_HOLE | SEEK_DATA
Implement find_hole() for dm-ploop target.
Iterate over clusters until we find hole or data by using
ploop_bat_entries() which will do all our work
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
v3
-by: Andrey Zhadchenko
---
v2 major rework:
- move some code to new functions
- alloc seek qios dynamically
- handle chaining images with more care
- do not skip L2 if backing image exists
v3: remove edge case handling as it is now done by generic blockdev
helper
drivers/md/dm-qcow2-map.c| 247
SEEK_HOLE for dm-qcow2 and dm-ploop
v2:
- s/find_hole/llseek_hole/
- add new patch with calc_front_qio_bytes() helper
- rework dm-qcow2 llseek_hole function
v3:
- add new helper blkdev_llseek_wrapper() to cover common edge cases
- rework calc_front_qio_bytes() to increase clarity
Andrey
Add new function to target_type, so any dm devices may realize it
Implement intermediate llseek_hole() on device-mapper layer, do some simple
checks.
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
v2: fix
On 8/21/23 19:20, Alexander Atanasov wrote:
On 16.08.23 12:32, Andrey Zhadchenko wrote:
Implement llseek_hole() for dm-qcow2 target.
Iterate over ranges with cluster granularity until hole or data is found.
To reduce code duplication, we should use already existing
parse_metadata()
We can
On 8/21/23 14:07, Alexander Atanasov wrote:
On 16.08.23 12:32, Andrey Zhadchenko wrote:
Add new function to target_type, so any dm devices may realize it
Implement intermediate llseek_hole() on device-mapper layer, do some
simple
checks.
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm
Add new function for block_device_operations, which will be used
for SEEK_HOLE and SEEK_DATA llseek calls
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
v2: fix critical bug: do not (SEEK_HOLE | SEEK_DATA
push_backup dm module llseek_hole() should just call the same function
from it's origin bdev
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-push-backup.c | 12
1 file changed
When looking for SEEK_HOLE, we would like to check if cluster is locked
without valid pio
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-ploop-map.c | 2 +-
1 file changed, 1 insertion(+), 1
Move code that calculates qio front bytes type and amount into a new
helper. It will be used later for llseek_hole()
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-qcow2-map.c | 46
Add braces around arguments so callers can use equations while
calling these macros.
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-ploop.h | 8
1 file changed, 4 insertions(+), 4
-by: Andrey Zhadchenko
---
v2 major rework:
- move some code to new functions
- alloc seek qios dynamically
- handle chaining images with more care
- do not skip L2 if backing image exists
drivers/md/dm-qcow2-map.c| 257 +++
drivers/md/dm-qcow2-target.c | 1
Add new function to target_type, so any dm devices may realize it
Implement intermediate llseek_hole() on device-mapper layer, do some simple
checks.
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
v2: fix
Implement find_hole() for dm-ploop target.
Iterate over clusters until we find hole or data by using
ploop_bat_entries() which will do all our work
Feature: dm: implement SEEK_HOLE for dm-qcow2 and dm-ploop
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers
SEEK_HOLE for dm-qcow2 and dm-ploop
v2:
- s/find_hole/llseek_hole/
- add new patch with calc_front_qio_bytes() helper
- rework dm-qcow2 llseek_hole function
Andrey Zhadchenko (8):
block/fops: add llseek_hole to blockdevops
dm: add llseek_hole infrastructure
dm/push_backup: add llseek_hole
Hi!
Sorry for not answering for so late
On 7/24/23 15:54, Alexander Atanasov wrote:
On 24.07.23 15:57, Andrey Zhadchenko wrote:
On 7/24/23 14:20, Alexander Atanasov wrote:
On 24.07.23 11:03, Konstantin Khorenko wrote:
Implement find_hole() for dm-qcow2 target.
Iterate over ranges
/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-qcow2-map.c | 140 +++
drivers/md/dm-qcow2-target.c | 1 +
drivers/md/dm-qcow2.h | 2 +
3 files changed, 143 insertions(+)
diff --git a/drivers/md/dm-qcow2-map.c b/drivers/md/dm
Push backup dm module find_hole() should just call same function from
it's origin bdev
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-push-backup.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/md/dm-push-backup.c b
Add new function for block_device_operations, which will be used
for SEEK_HOLE and SEEK_DATA llseek calls
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
block/fops.c | 11 +++
include/linux/blkdev.h | 1 +
2 files changed, 12 insertions
Just iterate over clusters one-by-one calling ploop_bat_entries(),
which will do all our work
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-ploop-map.c| 50
drivers/md/dm-ploop-target.c | 1 +
drivers/md/dm
We want to check if cluster is locked without valid pio when seeking
holes
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-ploop-map.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop
in our favor.
Since parse_metadata() support request postponing (for example when the
requested L2 cluster is absent in RAM), we should create separate qio
list for our queries.
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-qcow2-map.c| 140
Add braces around arguments so callers can use equations while
calling these macro.
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-ploop.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/md/dm-ploop.h b/drivers/md
Implement intermediate find_hole() on device-mapper layer. Do some simple
checks, add new function to target_type, so any dm devices may realize it
https://jira.vzint.dev/browse/PSBM-145746
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm.c | 39
We need to be able to know if and where the image is sparse during
backups.
Implement blockdev and dm infrastructure, add an ability to find
holes for dm-qcow2, dm-ploop, dm-push-backup
After this patches llseek with SEEK_HOLES and SEEK_DATA can be used
with block devices
Andrey Zhadchenko (7
, Andrey Zhadchenko wrote:
Revert our patch for openvswitch, apply the ones that got accepted
into mainstream:
https://lore.kernel.org/all/20220825020450.664147-1-andrey.zhadche...@virtuozzo.com/
Andrey Zhadchenko (4):
Revert "net: openvswitch: add capability to specify ifindex o
12dacf7d>] ___sys_sendmsg+0x88/0xd0
[<11776020>] __sys_sendmsg+0x59/0xa0
[<2e8f2dc1>] do_syscall_64+0x3b/0x90
[<3243e7cb>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
Fixes: b83d23a2a38b ("openvswitch: Introduce per-cpu upcall dispatch&qu
Revert our patch for openvswitch, apply the ones that got accepted
into mainstream:
https://lore.kernel.org/all/20220825020450.664147-1-andrey.zhadche...@virtuozzo.com/
Andrey Zhadchenko (4):
Revert "net: openvswitch: add capability to specify ifindex of new
links"
openvswitch:
OVS_VPORT_CMD_NEW to specify new netdev
ifindex.
Signed-off-by: Andrey Zhadchenko
Acked-by: Christian Brauner (Microsoft)
Signed-off-by: Jakub Kicinski
(cherry picked from ms commit 54c4ef34c4b6f9720fded620e2893894f9f2c554)
Signed-off-by: Andrey Zhadchenko
---
include/uapi/linux/openvswitch.h
CRIU needs OVS_DP_ATTR_PER_CPU_PIDS to checkpoint/restore newest
openvswitch versions.
Add pids to generic datapath reply. Limit exported pids amount to
nr_cpu_ids.
Signed-off-by: Andrey Zhadchenko
Acked-by: Christian Brauner (Microsoft)
Signed-off-by: Jakub Kicinski
(cherry picked from ms
This reverts commit 757ebade1eec8c6a3d1a150c8bd6f564c939c058.
We should use the version upstream accepted
https://jira.vzint.dev/browse/PSBM-105844
Signed-off-by: Andrey Zhadchenko
---
net/openvswitch/datapath.c | 16 ++--
net/openvswitch/vport-internal_dev.c | 1 -
net
yscall.
Signed-off-by: Andrey Zhadchenko
---
drivers/md/dm-push-backup.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/md/dm-push-backup.c b/drivers/md/dm-push-backup.c
index 1500d0681cee..bd021560a3e9 100644
--- a/drivers/md/dm-push-backup.c
+++ b/drivers
workers | 903k | 779k |
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/blk.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/vhost/blk.c b/drivers/vhost/blk.c
index ce1c8ac27688..44fbf253e773 100644
Allow vhost polls to be associated with vqs so we can queue them
on assigned workers.
If polls are not associated with specific vqs queue them on the first
worker.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 24
Add worker pointer to every virtqueue. Add routine to assing
workers to virtqueues and call it after any worker creation
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v4:
Set vq->worker = NULL in vhost_vq_reset. This will fix both
https://jira.sw.ru/browse/P
Make vhost_work_dev_flush support several workers and flush
them simultaneously
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- don't bother with checking dev->workers[0].worker since dev->nworkers
will always contain 0 in this case
drivers/vhost/vhost.
We want to support several vhost workers. The first step is to
rework vhost to use array of workers rather than single pointer.
Update creation and cleanup routines.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v3:
set vq->worker to NULL in vhost_vq_re
|
vhost-blk, 1vcpu | 110k | 113k |
vhost-blk, 2vcpu | 247k | 252k |
vhost-blk, 4vcpu | 558k | 556k |
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- removed unused VHOST_BLK_VQ
- reworked bio handling
Finally add ioctl to allow userspace to create additional workers
For now only allow to increase the number of workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- Make code do what docs suggest. Previously ioctl-supplied new number
of workers were treated
Add routines to queue works on virtqueue assigned workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 22 ++
drivers/vhost/vhost.h | 5 +
2 files changed, 27 insertions(+)
diff --git a/drivers/vhost/vhost.c b
;worker = NULL to patch #7 where this field is
introduced.
patch 7/10
- Set vq->worker = NULL in vhost_vq_reset. This will fix both
https://jira.sw.ru/browse/PSBM-142058
https://jira.sw.ru/browse/PSBM-142852
v5:
patch 1/10
- several codestyle/spacing fixes
- added WARN_ON() for vhost_blk_flush
Cool, thanks!
От: Pavel Tikhomirov
Отправлено: 4 ноября 2022 г. 15:56
Кому: Andrey Zhadchenko
Копия: devel@openvz.org ; Konstantin Khorenko
Тема: Re: [PATCH RH9 v4 01/10] drivers/vhost: vhost-blk accelerator for
virtio-blk guests
On 04.11.2022 15:28, Andrey
On 11/4/22 14:31, Pavel Tikhomirov wrote:
On 01.11.2022 10:25, Andrey Zhadchenko wrote:
+/* It is forbidden to call more than one vhost_blk_flush()
simultaneously */
+static void vhost_blk_flush(struct vhost_blk *blk)
+{
+ int flush_bin;
+
+ spin_lock(>flush_lock);
+
Add function to create a vhost worker and add it into the device.
Rework vhost_dev_set_owner
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 68 +--
1 file changed, 40 insertions(+), 28 deletions(-)
diff
Make vhost_work_dev_flush support several workers and flush
them simultaneously
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- don't bother with checking dev->workers[0].worker since dev->nworkers
will always contain 0 in this case
drivers/vhost/vhost.
workers | 803k | 779k |
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/blk.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/vhost/blk.c b/drivers/vhost/blk.c
index 7a29e65d57d1..dce339a8220f 100644
Add routines to queue works on virtqueue assigned workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 22 ++
drivers/vhost/vhost.h | 5 +
2 files changed, 27 insertions(+)
diff --git a/drivers/vhost/vhost.c b
|
vhost-blk, 1vcpu | 110k | 113k |
vhost-blk, 2vcpu | 247k | 252k |
vhost-blk, 4vcpu | 558k | 556k |
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- removed unused VHOST_BLK_VQ
- reworked bio handling
Rework vhost_attach_cgroups to manipulate specified worker.
Implement vhost_worker_flush as we need to flush specific worker.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 18 ++
1 file changed, 14 insertions(+), 4 deletions
Add worker pointer to every virtqueue. Add routine to assing
workers to virtqueues and call it after any worker creation
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v4:
Set vq->worker = NULL in vhost_vq_reset. This will fix both
https://jira.sw.ru/browse/P
Finally add ioctl to allow userspace to create additional workers
For now only allow to increase the number of workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- Make code do what docs suggest. Previously ioctl-supplied new number
of workers were treated
We want to support several vhost workers. The first step is to
rework vhost to use array of workers rather than single pointer.
Update creation and cleanup routines.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v3:
set vq->worker to NULL in vhost_vq_re
Allow vhost polls to be associated with vqs so we can queue them
on assigned workers.
If polls are not associated with specific vqs queue them on the first
worker.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 24
;worker = NULL to patch #7 where this field is
introduced.
patch 7/10
- Set vq->worker = NULL in vhost_vq_reset. This will fix both
https://jira.sw.ru/browse/PSBM-142058
https://jira.sw.ru/browse/PSBM-142852
Andrey Zhadchenko (10):
drivers/vhost: vhost-blk accelerator for virtio-blk guests
On 10/13/22 19:17, Pavel Tikhomirov wrote:
On 10.10.2022 17:56, Andrey Zhadchenko wrote:
Although QEMU virtio is quite fast, there is still some room for
improvements. Disk latency can be reduced if we handle virito-blk
requests
in host kernel istead of passing them to QEMU. The patch
On 10/13/22 19:09, Pavel Tikhomirov wrote:
On 10.10.2022 17:56, Andrey Zhadchenko wrote:
Although QEMU virtio is quite fast, there is still some room for
improvements. Disk latency can be reduced if we handle virito-blk
requests
in host kernel istead of passing them to QEMU. The patch
workers | 730k | 701k |
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/blk.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/vhost/blk.c b/drivers/vhost/blk.c
index 933c9c50b0a6..6aa87c22c4df 100644
, 2vcpu | 247k | 252k |
vhost-blk, 4vcpu | 576k | 567k |
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- removed unused VHOST_BLK_VQ
- reworked bio handling a bit: now add all pages from signle iov into
single bio istead
Rework vhost_attach_cgroups to manipulate specified worker.
Implement vhost_worker_flush as we need to flush specific worker.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 18 ++
1 file changed, 14 insertions(+), 4 deletions
Add routines to queue works on virtqueue assigned workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 22 ++
drivers/vhost/vhost.h | 5 +
2 files changed, 27 insertions(+)
diff --git a/drivers/vhost/vhost.c b
Allow vhost polls to be associated with vqs so we can queue them
on assigned workers.
If polls are not associated with specific vqs queue them on the first
worker.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 24
Finally add ioctl to allow userspace to create additional workers
For now only allow to increase the number of workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- Make code do what docs suggest. Previously ioctl-supplied new number
of workers were treated
Make vhost_work_dev_flush support several workers and flush
them simultaneously
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v2:
- don't bother with checking dev->workers[0].worker since dev->nworkers
will always contain 0 in this case
drivers/vhost/vhost.
- now create new only if the previous is
full
patch 2/10
- set vq->worker = NULL in vhost_vq_reset()
https://jira.sw.ru/browse/PSBM-139414
Andrey Zhadchenko (10):
drivers/vhost: vhost-blk accelerator for virtio-blk guests
drivers/vhost: use array to store workers
drivers/vhost: adj
Add worker pointer to every virtqueue. Add routine to assing
workers to virtqueues and call it after any worker creation
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 13 +
drivers/vhost/vhost.h | 2 ++
2 files changed, 15
Add function to create a vhost worker and add it into the device.
Rework vhost_dev_set_owner
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 68 +--
1 file changed, 40 insertions(+), 28 deletions(-)
diff
We want to support several vhost workers. The first step is to
rework vhost to use array of workers rather than single pointer.
Update creation and cleanup routines.
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
v3:
set vq->worker to NULL in vhost_vq_re
Finally add ioctl to allow userspace to create additional workers
For now only allow to increase the number of workers
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 31 ++-
include/uapi/linux/vhost.h | 9
Add function to create a vhost worker and add it into the device.
Rework vhost_dev_set_owner
https://jira.sw.ru/browse/PSBM-139414
Signed-off-by: Andrey Zhadchenko
---
drivers/vhost/vhost.c | 68 +--
1 file changed, 40 insertions(+), 28 deletions(-)
diff
picked from vz7 commit c2ccf83304f1 ("mm/vmscan: add cond_resched() to
loop in shrink_slab_memcg()"))
Signed-off-by: Andrey Zhadchenko
(cherry picked from vz8 commit 5af0061feb0f264d1ad23580f5febe0bd10a154d)
Signed-off-by: Andrey Zhadchenko
---
mm/vmscan.c | 2 ++
1 file changed, 2
se part https://jira.sw.ru/browse/PSBM-127837
Signed-off-by: Alexander Mikhalitsyn
(cherry picked from vz8 commit 454d3b6b7b79d76ce785d21d2c95d2efc173eddc)
Signed-off-by: Andrey Zhadchenko
---
fs/namespace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/namespace.c b/fs/name
commit dee0301a8848 ("ve/time/ntp: allow CT ntp
adjustment time tuning under VE_FEATURE_TIME feature"))
Signed-off-by: Pavel Tikhomirov
(cherry picked from vz8 commit d0bba429c03cf20e4e344b12b8dd1c8d298b4575)
Signed-off-by: Andrey Zhadchenko
---
kernel/time/timekeeping.c | 9 ++---
1 fi
50cef4107c11 ("ve/meminfo: show "MemAvailable:
..." line in CT's meminfo"))
Signed-off-by: Andrey Zhadchenko
(cherry picked from vz8 commit f8e40396e7e0a9d6053d41941d7e8bb28bbd36c1)
Signed-off-by: Andrey Zhadchenko
---
fs/proc/meminfo.c| 1 +
include/linux/virtinfo.h |
xtend info on emualation
failure"))
https://jira.sw.ru/browse/PSBM-127849
Signed-off-by: Valeriy Vdovin
(cherry picked from vz8 commit 5a3089e978c6274806deb2b775ce3b71c7f720f7)
Signed-off-by: Andrey Zhadchenko
---
arch/x86/kvm/x86.c | 22 +++---
1 file changed, 15 insert
}
entries inside Container
2) to show only limited number of /sys/devices/system/cpu/cpuX directories
inside Containers depending on $CPUS CT settings.
(cherry picked from vz7 commit 11a5446266aa ("ve/cpu: handle sysfs attributes
for CTs"))
Signed-off-by: Andrey Zhadchenko
(cherry picke
/browse/PSBM-127857
Signed-off-by: Valeriy Vdovin
(cherry picked from vz8 commit c3299968d4753f7fdf13a792d04795605951c533)
Signed-off-by: Andrey Zhadchenko
---
include/linux/pid_namespace.h | 1 +
include/linux/threads.h | 1 +
kernel/pid.c | 2 +-
kernel/pid_namespace.c
://pmc.acronis.com/browse/VSTOR-10187
Signed-off-by: Sergey Lysanov
(cherry-picked from vz7 commit a65a2e655b78 ("fs: Export symbols replace_fd()
and create_pipe_files()"))
Signed-off-by: Andrey Zhadchenko
(cherry picked from vz8 commit 63148b36d11de4e546b163948cb32279516b789a)
Signed-off-
(cherry-picked from vz7 commit 47d875ee2284 ("kvm/x86: add log printing on
emulation failure"))
https://jira.sw.ru/browse/PSBM-127849
Signed-off-by: Valeriy Vdovin
(cherry picked from vz8 commit e3aa92a51c1dd901cd06ccd70eff7cce0ba3b6c8)
Signed-off-by: Andrey Zhadchenko
---
arc
ot;ve/capability: introduce
capable() wrapper which honors CT features"))
Signed-off-by: Pavel Tikhomirov
(cherry picked from vz8 commit 0c6787703b466480564e5b841c1a28c35f376218)
Signed-off-by: Andrey Zhadchenko
---
include/linux/capability.h | 1 +
kernel/capability.c| 12 +
ef57cd4ac62e)
Signed-off-by: Andrey Zhadchenko
---
drivers/scsi/aacraid/aacraid.h | 11 ---
drivers/scsi/aacraid/comminit.c | 14 ++
drivers/scsi/aacraid/commsup.c | 4 +++-
drivers/scsi/aacraid/linit.c| 7 +--
4 files changed, 18 insertions(+), 18 deletions(-)
eb9c64c3e00d ("DMA-API: exceeded 7
overlapping mappings of cacheline share"))
Signed-off-by: Pavel Tikhomirov
(cherry picked from vz8 commit a60ed8dff6132704c3fdbbf3d97b4de9be58c0eb)
Signed-off-by: Andrey Zhadchenko
---
kernel/dma/debug.c | 5 -
1 file changed, 4 insertions(+), 1 dele
1 - 100 of 351 matches
Mail list logo