search for: virtio_mem_init

Displaying 20 results from an estimated 21 matches for "virtio_mem_init".

2020 Jun 08
2
[PATCH] virtio_mem: prevent overflow with subblock size
...> uint64_t region_size; > > > > /* The subblock size. */ > > - uint32_t subblock_size; > > + uint64_t subblock_size; > > /* The number of subblocks per memory block. */ > > uint32_t nb_sb_per_mb; > > > > @@ -1698,9 +1698,9 @@ static int virtio_mem_init(struct virtio_mem *vm) > > * - At least the device block size. > > * In the worst case, a single subblock per memory block. > > */ > > - vm->subblock_size = PAGE_SIZE * 1u << max_t(uint32_t, MAX_ORDER - 1, > > - pageblock_order); > > -...
2020 Jun 08
2
[PATCH] virtio_mem: prevent overflow with subblock size
...> uint64_t region_size; > > > > /* The subblock size. */ > > - uint32_t subblock_size; > > + uint64_t subblock_size; > > /* The number of subblocks per memory block. */ > > uint32_t nb_sb_per_mb; > > > > @@ -1698,9 +1698,9 @@ static int virtio_mem_init(struct virtio_mem *vm) > > * - At least the device block size. > > * In the worst case, a single subblock per memory block. > > */ > > - vm->subblock_size = PAGE_SIZE * 1u << max_t(uint32_t, MAX_ORDER - 1, > > - pageblock_order); > > -...
2020 Jun 08
4
[PATCH] virtio_mem: prevent overflow with subblock size
...hysical start address of the memory region. */ @@ -86,7 +86,7 @@ struct virtio_mem { uint64_t region_size; /* The subblock size. */ - uint32_t subblock_size; + uint64_t subblock_size; /* The number of subblocks per memory block. */ uint32_t nb_sb_per_mb; @@ -1698,9 +1698,9 @@ static int virtio_mem_init(struct virtio_mem *vm) * - At least the device block size. * In the worst case, a single subblock per memory block. */ - vm->subblock_size = PAGE_SIZE * 1u << max_t(uint32_t, MAX_ORDER - 1, - pageblock_order); - vm->subblock_size = max_t(uint32_t, vm->device_block_s...
2020 Jun 08
4
[PATCH] virtio_mem: prevent overflow with subblock size
...hysical start address of the memory region. */ @@ -86,7 +86,7 @@ struct virtio_mem { uint64_t region_size; /* The subblock size. */ - uint32_t subblock_size; + uint64_t subblock_size; /* The number of subblocks per memory block. */ uint32_t nb_sb_per_mb; @@ -1698,9 +1698,9 @@ static int virtio_mem_init(struct virtio_mem *vm) * - At least the device block size. * In the worst case, a single subblock per memory block. */ - vm->subblock_size = PAGE_SIZE * 1u << max_t(uint32_t, MAX_ORDER - 1, - pageblock_order); - vm->subblock_size = max_t(uint32_t, vm->device_block_s...
2020 Jun 09
1
[PATCH] virtio_mem: fix printk format
...drivers/virtio/virtio_mem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_mem.c b/drivers/virtio/virtio_mem.c index 7b1bece8a331..50c689f25045 100644 --- a/drivers/virtio/virtio_mem.c +++ b/drivers/virtio/virtio_mem.c @@ -1717,8 +1717,8 @@ static int virtio_mem_init(struct virtio_mem *vm) (unsigned long long)vm->device_block_size); dev_info(&vm->vdev->dev, "memory block size: 0x%lx", memory_block_size_bytes()); - dev_info(&vm->vdev->dev, "subblock size: 0x%x", - vm->subblock_size); + dev_info(&vm-&g...
2020 Jun 08
0
[PATCH] virtio_mem: prevent overflow with subblock size
...; @@ -86,7 +86,7 @@ struct virtio_mem { > uint64_t region_size; > > /* The subblock size. */ > - uint32_t subblock_size; > + uint64_t subblock_size; > /* The number of subblocks per memory block. */ > uint32_t nb_sb_per_mb; > > @@ -1698,9 +1698,9 @@ static int virtio_mem_init(struct virtio_mem *vm) > * - At least the device block size. > * In the worst case, a single subblock per memory block. > */ > - vm->subblock_size = PAGE_SIZE * 1u << max_t(uint32_t, MAX_ORDER - 1, > - pageblock_order); > - vm->subblock_size = max_t(u...
2020 Aug 05
1
[PATCH v3 35/38] virtio_mem: convert to LE accessors
...ruct virtio_mem_config, requested_size, + &vm->requested_size); dev_info(&vm->vdev->dev, "plugged size: 0x%llx", vm->plugged_size); dev_info(&vm->vdev->dev, "requested size: 0x%llx", vm->requested_size); @@ -1677,16 +1677,16 @@ static int virtio_mem_init(struct virtio_mem *vm) } /* Fetch all properties that can't change. */ - virtio_cread(vm->vdev, struct virtio_mem_config, plugged_size, - &vm->plugged_size); - virtio_cread(vm->vdev, struct virtio_mem_config, block_size, - &vm->device_block_size); - virtio_...
2020 Jun 08
0
[PATCH] virtio_mem: prevent overflow with subblock size
...the gigabyte range were never the original intention of >> virtio-mem, but I am not completely opposed to that) > > > So in that case, can you code up validation in the probe function? If we would currently have a "block_size" > Linux memory block size, we bail out. virtio_mem_init(): if (vm->device_block_size > memory_block_size_bytes()) { dev_err(&vm->vdev->dev, "The block size is not supported (too big).\n"); return -EINVAL; } So what's reported can currently not happen. Having that said, changing "subblock_size" to be an uint6...
2020 Jun 08
0
[vhost:vhost 18/52] drivers/virtio/virtio_mem.c:1391:5: warning: Variable 'rc' is reassigned a value before the old one has been used.
...llowing tag as appropriate Reported-by: kernel test robot <lkp at intel.com> cppcheck warnings: (new ones prefixed by >>) >> drivers/virtio/virtio_mem.c:1391:5: warning: Variable 'rc' is reassigned a value before the old one has been used. [redundantAssignment] rc = virtio_mem_init_vq(vm); ^ drivers/virtio/virtio_mem.c:1375:0: note: Variable 'rc' is reassigned a value before the old one has been used. int rc = -EINVAL; ^ drivers/virtio/virtio_mem.c:1391:5: note: Variable 'rc' is reassigned a value before the old one has been used. rc =...
2020 May 05
2
[vhost:vhost 8/22] drivers/virtio/virtio_mem.c:1375:20: error: implicit declaration of function 'kzalloc'; did you mean 'vzalloc'?
...x); 1383 INIT_LIST_HEAD(&vm->next); 1384 spin_lock_init(&vm->removal_lock); 1385 hrtimer_init(&vm->retry_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1386 vm->retry_timer.function = virtio_mem_timer_expired; 1387 1388 /* register the virtqueue */ 1389 rc = virtio_mem_init_vq(vm); 1390 if (rc) 1391 goto out_free_vm; 1392 1393 /* initialize the device by querying the config */ 1394 rc = virtio_mem_init(vm); 1395 if (rc) 1396 goto out_del_vq; 1397 1398 /* register callbacks */ 1399 vm->memory_notifier.notifier_call = virtio_mem_memory...
2020 May 05
2
[vhost:vhost 8/22] drivers/virtio/virtio_mem.c:1375:20: error: implicit declaration of function 'kzalloc'; did you mean 'vzalloc'?
...x); 1383 INIT_LIST_HEAD(&vm->next); 1384 spin_lock_init(&vm->removal_lock); 1385 hrtimer_init(&vm->retry_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1386 vm->retry_timer.function = virtio_mem_timer_expired; 1387 1388 /* register the virtqueue */ 1389 rc = virtio_mem_init_vq(vm); 1390 if (rc) 1391 goto out_free_vm; 1392 1393 /* initialize the device by querying the config */ 1394 rc = virtio_mem_init(vm); 1395 if (rc) 1396 goto out_del_vq; 1397 1398 /* register callbacks */ 1399 vm->memory_notifier.notifier_call = virtio_mem_memory...
2020 May 07
17
[PATCH v4 00/15] virtio-mem: paravirtualized memory
This series is based on v5.7-rc4. The patches are located at: https://github.com/davidhildenbrand/linux.git virtio-mem-v4 This is basically a resend of v3 [1], now based on v5.7-rc4 and restested. One patch was reshuffled and two ACKs I missed to add were added. The rebase did not require any modifications to patches. Details about virtio-mem can be found in the cover letter of v2 [2]. A
2020 May 07
20
[PATCH v3 00/15] virtio-mem: paravirtualized memory
This series is based on latest linux-next. The patches are located at: https://github.com/davidhildenbrand/linux.git virtio-mem-v3 Patch #1 - #10 where contained in v2 and only contain minor modifications (mostly smaller fixes). The remaining patches are new and contain smaller optimizations. Details about virtio-mem can be found in the cover letter of v2 [1]. A basic QEMU implementation was
2020 May 07
20
[PATCH v3 00/15] virtio-mem: paravirtualized memory
This series is based on latest linux-next. The patches are located at: https://github.com/davidhildenbrand/linux.git virtio-mem-v3 Patch #1 - #10 where contained in v2 and only contain minor modifications (mostly smaller fixes). The remaining patches are new and contain smaller optimizations. Details about virtio-mem can be found in the cover letter of v2 [1]. A basic QEMU implementation was
2020 Mar 02
0
[PATCH v1 02/11] virtio-mem: Paravirtualized memory hotplug
..._mem *vm = container_of(timer, struct virtio_mem, + retry_timer); + + virtio_mem_retry(vm); + return HRTIMER_NORESTART; +} + +static void virtio_mem_handle_response(struct virtqueue *vq) +{ + struct virtio_mem *vm = vq->vdev->priv; + + wake_up(&vm->host_resp); +} + +static int virtio_mem_init_vq(struct virtio_mem *vm) +{ + struct virtqueue *vq; + + vq = virtio_find_single_vq(vm->vdev, virtio_mem_handle_response, + "guest-request"); + if (IS_ERR(vq)) + return PTR_ERR(vq); + vm->vq = vq; + + return 0; +} + +/* + * Test if any memory in the range is present in Linux....
2020 Mar 11
12
[PATCH v2 00/10] virtio-mem: paravirtualized memory
This series is based on latest linux-next. The patches are located at: https://github.com/davidhildenbrand/linux.git virtio-mem-v2 I now have acks for all !virtio-mem changes. I'll be happy to get review feedback, testing reports, etc. for the virtio-mem changes. If there are no further comments, I guess this is good to go as a v1 soon. The basic idea of virtio-mem is to provide a
2019 Dec 12
19
[PATCH RFC v4 00/13] virtio-mem: paravirtualized memory
This series is based on latest linux-next. The patches are located at: https://github.com/davidhildenbrand/linux.git virtio-mem-rfc-v4 The basic idea of virtio-mem is to provide a flexible, cross-architecture memory hot(un)plug solution that avoids many limitations imposed by existing technologies, architectures, and interfaces. More details can be found below and in linked material. This
2019 Dec 12
19
[PATCH RFC v4 00/13] virtio-mem: paravirtualized memory
This series is based on latest linux-next. The patches are located at: https://github.com/davidhildenbrand/linux.git virtio-mem-rfc-v4 The basic idea of virtio-mem is to provide a flexible, cross-architecture memory hot(un)plug solution that avoids many limitations imposed by existing technologies, architectures, and interfaces. More details can be found below and in linked material. This
2019 Sep 19
14
[PATCH RFC v3 0/9] virtio-mem: paravirtualized memory
Long time no RFC! I finally had time to get the next version of the Linux driver side of virtio-mem into shape, incorporating ideas and feedback from previous discussions. This RFC is based on the series currently on the mm list: - [PATCH 0/3] Remove __online_page_set_limits() - [PATCH v1 0/3] mm/memory_hotplug: Export generic_online_page() - [PATCH v4 0/8] mm/memory_hotplug: Shrink zones before
2020 Mar 02
20
[PATCH v1 00/11] virtio-mem: paravirtualized memory
This series is based on latest linux-next. The patches are located at: https://github.com/davidhildenbrand/linux.git virtio-mem-v1 The basic idea of virtio-mem is to provide a flexible, cross-architecture memory hot(un)plug solution that avoids many limitations imposed by existing technologies, architectures, and interfaces. More details can be found below and in linked material. It's