search for: cornercase

Displaying 20 results from an estimated 38 matches for "cornercase".

2019 Nov 08
3
Enable Contributions Through Pull-request For LLVM
Philip Reames via llvm-dev <llvm-dev at lists.llvm.org> writes: > Weak -1 in general.  I'm not strongly opposed, but I see very little > value in this migration and a lot of headache.  Others have explained > this well, so I'll mostly skip that.  I particular dislike the assumed > fork model; I work in patches, so that's a ton of overhead process wise.  Can you
2009 May 12
5
GPLPV 0.10.55 net misbehaviour
I''m using W2K2 32bit on a 3.2.1 Lenny-amd64 host. While the pv disk driver works as expected, I encounter problems with the network driver. I tried several installation scenarios, all with the same result. My test looks like this: I install gplpv, but without letting the networking driver install. After reboot I RTL8139 ist still active and working, and gplpv devices manage the disks.
2015 Jun 01
4
[LLVMdev] RFC: liveoncall parameter attribute
...direct call target back into the patchable code section. What's supposed to happen the first time this code is actually executed is that the running application thread calls into the helper routine, does a dynamic lookup of the callee (using the normal dynamic dispatch logic including all cornercases), patches the actual callee's entry address back into the source of the call, and then tail calls into the actual callee. However, there's a complication with the step involved with doing the dynamic dispatch. If the actual callee was visible to the LLVM compile, we might have proven...
2018 Feb 01
0
[PATCH v25 0/2] Virtio-balloon: support free page reporting
...cuss this flag check later; > - init_vqs: change to put some variables on stack to have simpler > implementation; > - add destroy_workqueue(vb->balloon_wq); > > v21->v22: > - add_one_sg: some code and comment re-arrangement > - send_cmd_id: handle a cornercase > > For previous ChangeLog, please reference > https://lwn.net/Articles/743660/ > > Wei Wang (2): > mm: support reporting free page blocks > virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT > > drivers/virtio/virtio_balloon.c | 251 +++++++++++++++++++++++++++++...
2018 Jan 17
3
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...zeof *addr as size. > +{ > + struct scatterlist sg; > + unsigned int unused; > + int err; > + > + sg_init_one(&sg, addr, sizeof(uint32_t)); This passes a guest-endian value to host. This is a problem: should always pass LE values. > + > + /* > + * This handles the cornercase that the vq happens to be full when > + * adding a cmd id. Rarely happen in practice. > + */ > + while (!vq->num_free) > + virtqueue_get_buf(vq, &unused); I dislike this busy-waiting. It's a hint after all - why not just retry later - hopefully after getting an interrupt?...
2018 Jan 17
3
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...zeof *addr as size. > +{ > + struct scatterlist sg; > + unsigned int unused; > + int err; > + > + sg_init_one(&sg, addr, sizeof(uint32_t)); This passes a guest-endian value to host. This is a problem: should always pass LE values. > + > + /* > + * This handles the cornercase that the vq happens to be full when > + * adding a cmd id. Rarely happen in practice. > + */ > + while (!vq->num_free) > + virtqueue_get_buf(vq, &unused); I dislike this busy-waiting. It's a hint after all - why not just retry later - hopefully after getting an interrupt?...
2018 Jan 17
2
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
..._free) > + virtqueue_kick(vq); > +} > + > +static void send_cmd_id(struct virtqueue *vq, void *addr) > +{ > + struct scatterlist sg; > + unsigned int unused; > + int err; > + > + sg_init_one(&sg, addr, sizeof(uint32_t)); > + > + /* > + * This handles the cornercase that the vq happens to be full when > + * adding a cmd id. Rarely happen in practice. > + */ > + while (!vq->num_free) > + virtqueue_get_buf(vq, &unused); > + > + err = virtqueue_add_outbuf(vq, &sg, 1, vq, GFP_KERNEL); > + /* > + * This is expected to never fa...
2018 Jan 17
2
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
..._free) > + virtqueue_kick(vq); > +} > + > +static void send_cmd_id(struct virtqueue *vq, void *addr) > +{ > + struct scatterlist sg; > + unsigned int unused; > + int err; > + > + sg_init_one(&sg, addr, sizeof(uint32_t)); > + > + /* > + * This handles the cornercase that the vq happens to be full when > + * adding a cmd id. Rarely happen in practice. > + */ > + while (!vq->num_free) > + virtqueue_get_buf(vq, &unused); > + > + err = virtqueue_add_outbuf(vq, &sg, 1, vq, GFP_KERNEL); > + /* > + * This is expected to never fa...
2006 Apr 17
0
[PATCH] klibc: rebuild cpio image when content changes
...op of hpa's linux tree, so path differ if applied to the klibc tree. This one has passed all my trivial testing. touch usr/kinit/kinit.o && make usr/ will regenerate cpio image. But with all the troubles this simple issue has caused me I woul not be suprised if there are some untested cornercase. Sam scripts/gen_initramfs_list.sh | 8 ++++++ usr/Kbuild | 52 ++++++++++++++++++++++++------------------ 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh index 45c81b0..a609970 100644 --- a/s...
2018 Feb 08
0
[PATCH v28 0/4] Virtio-balloon: support free page reporting
...cuss this flag check later; > - init_vqs: change to put some variables on stack to have simpler > implementation; > - add destroy_workqueue(vb->balloon_wq); > > v21->v22: > - add_one_sg: some code and comment re-arrangement > - send_cmd_id: handle a cornercase > > For previous ChangeLog, please reference > https://lwn.net/Articles/743660/ > > Wei Wang (4): > mm: support reporting free page blocks > virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT > mm/page_poison: add a function to expose page poison val to kernel >...
2018 Jan 19
0
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...uint32_t)); > This passes a guest-endian value to host. This is a problem: > should always pass LE values. I think the endianness is handled when virtqueue_add_outbuf(): desc[i].addr = cpu_to_virtio64(_vq->vdev, addr); right? > >> + >> + /* >> + * This handles the cornercase that the vq happens to be full when >> + * adding a cmd id. Rarely happen in practice. >> + */ >> + while (!vq->num_free) >> + virtqueue_get_buf(vq, &unused); > I dislike this busy-waiting. It's a hint after all - > why not just retry later - hopefully af...
2018 Jan 17
8
[PATCH v22 0/3] Virtio-balloon: support free page reporting
...y pages are used after they are given to the hypervisor as a hint of the free pages, because they will be tracked by the hypervisor and transferred in the next round if they are used and written. ChangeLog: v21-v22: - add_one_sg: some code and comment re-arrangement - send_cmd_id: handle a cornercase For precious ChangeLog, please reference https://lwn.net/Articles/743660/ Wei Wang (3): mm: support reporting free page blocks virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ virtio-balloon: don't report free pages when page poisoning is enabled drivers/virtio/virtio_balloon.c | 250...
2018 Jan 17
8
[PATCH v22 0/3] Virtio-balloon: support free page reporting
...y pages are used after they are given to the hypervisor as a hint of the free pages, because they will be tracked by the hypervisor and transferred in the next round if they are used and written. ChangeLog: v21-v22: - add_one_sg: some code and comment re-arrangement - send_cmd_id: handle a cornercase For precious ChangeLog, please reference https://lwn.net/Articles/743660/ Wei Wang (3): mm: support reporting free page blocks virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ virtio-balloon: don't report free pages when page poisoning is enabled drivers/virtio/virtio_balloon.c | 250...
2018 Jan 17
0
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...gt;> + >> +static void send_cmd_id(struct virtqueue *vq, void *addr) >> +{ >> + struct scatterlist sg; >> + unsigned int unused; >> + int err; >> + >> + sg_init_one(&sg, addr, sizeof(uint32_t)); >> + >> + /* >> + * This handles the cornercase that the vq happens to be full when >> + * adding a cmd id. Rarely happen in practice. >> + */ >> + while (!vq->num_free) >> + virtqueue_get_buf(vq, &unused); >> + >> + err = virtqueue_add_outbuf(vq, &sg, 1, vq, GFP_KERNEL); >> + /* >> +...
2018 Jan 17
1
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...> +{ > >> + struct scatterlist sg; > >> + unsigned int unused; > >> + int err; > >> + > >> + sg_init_one(&sg, addr, sizeof(uint32_t)); > >> + > >> + /* > >> + * This handles the cornercase that the vq happens to be full when > >> + * adding a cmd id. Rarely happen in practice. > >> + */ > >> + while (!vq->num_free) > >> + virtqueue_get_buf(vq, &unused); > >> + > >> + err = virtqu...
2018 Jun 27
0
[PATCH v34 0/4] Virtio-balloon: support free page reporting
...to discuss this flag check later; > - init_vqs: change to put some variables on stack to have simpler > implementation; > - add destroy_workqueue(vb->balloon_wq); > v21->v22: > - add_one_sg: some code and comment re-arrangement > - send_cmd_id: handle a cornercase > > For previous ChangeLog, please reference > https://lwn.net/Articles/743660/ > > > > Wei Wang (4): > mm: support to get hints of free page blocks > virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT > mm/page_poison: expose page_poisoning_enabled to kernel mo...
2018 Jan 17
0
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...pfn, len); + + /* Batch till the vq is full */ + if (!vq->num_free) + virtqueue_kick(vq); +} + +static void send_cmd_id(struct virtqueue *vq, void *addr) +{ + struct scatterlist sg; + unsigned int unused; + int err; + + sg_init_one(&sg, addr, sizeof(uint32_t)); + + /* + * This handles the cornercase that the vq happens to be full when + * adding a cmd id. Rarely happen in practice. + */ + while (!vq->num_free) + virtqueue_get_buf(vq, &unused); + + err = virtqueue_add_outbuf(vq, &sg, 1, vq, GFP_KERNEL); + /* + * This is expected to never fail, because there is always an + * entr...
2018 Jan 19
3
[PATCH v22 2/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...t; > I think the endianness is handled when virtqueue_add_outbuf(): > > desc[i].addr = cpu_to_virtio64(_vq->vdev, addr); > > right? No - that handles the address, not the value you pass in. > > > > > + > > > + /* > > > + * This handles the cornercase that the vq happens to be full when > > > + * adding a cmd id. Rarely happen in practice. > > > + */ > > > + while (!vq->num_free) > > > + virtqueue_get_buf(vq, &unused); > > I dislike this busy-waiting. It's a hint after all - > > why n...
2019 Dec 01
4
ConstantRange modelling precision?
Hello. This question has come up in https://reviews.llvm.org/D70043 There, i'm teaching ConstantRange how no-wrap flags affect the range of `mul` instruction, with end goal of exploiting this in LVI/CVP. There are certain combinations of ranges and no-wrap flags that result in always-overflowing `mul`. For example, `mul nuw nsw i4 [2,0), [4,0)` always overflows:
2018 Jun 15
10
[PATCH v33 0/4] Virtio-balloon: support free page reporting
...w, will have a separate patch to discuss this flag check later; - init_vqs: change to put some variables on stack to have simpler implementation; - add destroy_workqueue(vb->balloon_wq); v21->v22: - add_one_sg: some code and comment re-arrangement - send_cmd_id: handle a cornercase For previous ChangeLog, please reference https://lwn.net/Articles/743660/ Wei Wang (4): mm: add a function to get free page blocks virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT mm/page_poison: expose page_poisoning_enabled to kernel modules virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON...