search for: sglist

Displaying 20 results from an estimated 105 matches for "sglist".

2016 Jul 11
1
[PATCH] virtio: don't warn if we can't allocate indirect sglist
Don't print warning if memory allocation fails. The virtio driver can handle allocation failure (it falls back to direct sglist), so there is no functionality degradation. This warning was observed when swapping to virtio scsi device because there may be not enough free memory during swapping. Signed-off-by: Mikulas Patocka <mpatocka at redhat.com> --- drivers/virtio/virtio_ring.c | 6 ++++++ 1 file changed, 6...
2016 Jul 11
1
[PATCH] virtio: don't warn if we can't allocate indirect sglist
Don't print warning if memory allocation fails. The virtio driver can handle allocation failure (it falls back to direct sglist), so there is no functionality degradation. This warning was observed when swapping to virtio scsi device because there may be not enough free memory during swapping. Signed-off-by: Mikulas Patocka <mpatocka at redhat.com> --- drivers/virtio/virtio_ring.c | 6 ++++++ 1 file changed, 6...
2014 Sep 05
2
[PATCH 1/3] virtio_net: pass well-formed sgs to virtqueue_add_*()
...c index a2afa89513a0..9ae5756d9e5f 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c @@ -227,6 +227,7 @@ static int ah_output(struct xfrm_state *x, struct sk_buff *skb) *seqhi = htonl(XFRM_SKB_CB(skb)->seq.output.hi); sg_set_buf(seqhisg, seqhi, seqhi_len); } + sg_mark_end(&sg[nfrags + sglists]); ahash_request_set_crypt(req, sg, icv, skb->len + seqhi_len); ahash_request_set_callback(req, 0, ah_output_done, skb); @@ -395,6 +396,7 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb) *seqhi = XFRM_SKB_CB(skb)->seq.input.hi; sg_set_buf(seqhisg, seqhi, seqhi_le...
2014 Sep 05
2
[PATCH 1/3] virtio_net: pass well-formed sgs to virtqueue_add_*()
...c index a2afa89513a0..9ae5756d9e5f 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c @@ -227,6 +227,7 @@ static int ah_output(struct xfrm_state *x, struct sk_buff *skb) *seqhi = htonl(XFRM_SKB_CB(skb)->seq.output.hi); sg_set_buf(seqhisg, seqhi, seqhi_len); } + sg_mark_end(&sg[nfrags + sglists]); ahash_request_set_crypt(req, sg, icv, skb->len + seqhi_len); ahash_request_set_callback(req, 0, ah_output_done, skb); @@ -395,6 +396,7 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb) *seqhi = XFRM_SKB_CB(skb)->seq.input.hi; sg_set_buf(seqhisg, seqhi, seqhi_le...
2019 Dec 21
0
[PATCH 2/8] iommu/vt-d: Use default dma_direct_* mapping functions for direct mapped devices
..., int order; struct page *page = virt_to_page(vaddr); - if (iommu_no_mapping(dev)) - return dma_direct_free(dev, size, vaddr, dma_handle, attrs); - size = PAGE_ALIGN(size); order = get_order(size); @@ -3673,9 +3639,6 @@ static void intel_unmap_sg(struct device *dev, struct scatterlist *sglist, struct scatterlist *sg; int i; - if (iommu_no_mapping(dev)) - return dma_direct_unmap_sg(dev, sglist, nelems, dir, attrs); - for_each_sg(sglist, sg, nelems, i) { nrpages += aligned_nrpages(sg_dma_address(sg), sg_dma_len(sg)); } @@ -3699,8 +3662,6 @@ static int intel_map_sg(struct dev...
2007 Aug 16
3
[kvm-devel] [PATCH 00/10] PV-IO v3
On Thu, 2007-08-16 at 19:13 -0400, Gregory Haskins wrote: > Here is the v3 release of the patch series for a generalized PV-IO > infrastructure. It has v2 plus the following changes: Hi Gregory, This is a lot of code. I'm having trouble taking it all in, TBH. It might help me if we could to go back to the basic transport implementation questions. Transport has several parts. What
2007 Aug 16
3
[kvm-devel] [PATCH 00/10] PV-IO v3
On Thu, 2007-08-16 at 19:13 -0400, Gregory Haskins wrote: > Here is the v3 release of the patch series for a generalized PV-IO > infrastructure. It has v2 plus the following changes: Hi Gregory, This is a lot of code. I'm having trouble taking it all in, TBH. It might help me if we could to go back to the basic transport implementation questions. Transport has several parts. What
2014 Sep 07
0
[PATCH 1/3] virtio_net: pass well-formed sgs to virtqueue_add_*()
...100644 > --- a/net/ipv4/ah4.c > +++ b/net/ipv4/ah4.c > @@ -227,6 +227,7 @@ static int ah_output(struct xfrm_state *x, struct sk_buff *skb) > *seqhi = htonl(XFRM_SKB_CB(skb)->seq.output.hi); > sg_set_buf(seqhisg, seqhi, seqhi_len); > } > + sg_mark_end(&sg[nfrags + sglists]); > ahash_request_set_crypt(req, sg, icv, skb->len + seqhi_len); > ahash_request_set_callback(req, 0, ah_output_done, skb); > > @@ -395,6 +396,7 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb) > *seqhi = XFRM_SKB_CB(skb)->seq.input.hi; > sg_se...
2016 Jun 02
0
[RFC v3 30/45] metag: dma-mapping: Use unsigned long for dma_attrs
..._unmap_page(struct device *dev, dma_addr_t dma_address, size_t size, enum dma_data_direction direction, - struct dma_attrs *attrs) + unsigned long attrs) { dma_sync_for_cpu(phys_to_virt(dma_address), size, direction); } static int metag_dma_map_sg(struct device *dev, struct scatterlist *sglist, int nents, enum dma_data_direction direction, - struct dma_attrs *attrs) + unsigned long attrs) { struct scatterlist *sg; int i; @@ -516,7 +516,7 @@ static int metag_dma_map_sg(struct device *dev, struct scatterlist *sglist, static void metag_dma_unmap_sg(struct device *dev, struct sc...
2012 Jun 18
13
[PATCH v2 0/3] Improve virtio-blk performance
This patchset implements bio-based IO path for virito-blk to improve performance. Fio test shows it gives, 28%, 24%, 21%, 16% IOPS boost and 32%, 17%, 21%, 16% latency improvement for sequential read/write, random read/write respectively. Asias He (3): block: Introduce __blk_segment_map_sg() helper block: Add blk_bio_map_sg() helper virtio-blk: Add bio-based IO path for virtio-blk
2012 Jun 18
13
[PATCH v2 0/3] Improve virtio-blk performance
This patchset implements bio-based IO path for virito-blk to improve performance. Fio test shows it gives, 28%, 24%, 21%, 16% IOPS boost and 32%, 17%, 21%, 16% latency improvement for sequential read/write, random read/write respectively. Asias He (3): block: Introduce __blk_segment_map_sg() helper block: Add blk_bio_map_sg() helper virtio-blk: Add bio-based IO path for virtio-blk
2016 Jun 02
52
[RFC v3 00/45] dma-mapping: Use unsigned long for dma_attrs
Hi, This is third approach (complete this time) for replacing struct dma_attrs with unsigned long. The main patch (2/45) doing the change is split into many subpatches for easier review (3-43). They should be squashed together when applying. *Important:* Patchset is *only* build tested on allyesconfigs: ARM, ARM64, i386, x86_64 and powerpc. Please provide reviewes and tests for other
2016 Jun 02
0
[RFC v3 09/45] c6x: dma-mapping: Use unsigned long for dma_attrs
...dma_unmap_page(struct device *dev, dma_addr_t handle, - size_t size, enum dma_data_direction dir, struct dma_attrs *attrs) + size_t size, enum dma_data_direction dir, unsigned long attrs) { c6x_dma_sync(handle, size, dir); } static int c6x_dma_map_sg(struct device *dev, struct scatterlist *sglist, - int nents, enum dma_data_direction dir, struct dma_attrs *attrs) + int nents, enum dma_data_direction dir, unsigned long attrs) { struct scatterlist *sg; int i; @@ -67,8 +67,7 @@ static int c6x_dma_map_sg(struct device *dev, struct scatterlist *sglist, } static void c6x_dma_unmap_sg(s...
2019 Dec 21
13
[PATCH 0/8] Convert the intel iommu driver to the dma-iommu api
This patchset converts the intel iommu driver to the dma-iommu api. While converting the driver I exposed a bug in the intel i915 driver which causes a huge amount of artifacts on the screen of my laptop. You can see a picture of it here: https://github.com/pippy360/kernelPatches/blob/master/IMG_20191219_225922.jpg This issue is most likely in the i915 driver and is most likely caused by the
2019 Dec 21
13
[PATCH 0/8] Convert the intel iommu driver to the dma-iommu api
This patchset converts the intel iommu driver to the dma-iommu api. While converting the driver I exposed a bug in the intel i915 driver which causes a huge amount of artifacts on the screen of my laptop. You can see a picture of it here: https://github.com/pippy360/kernelPatches/blob/master/IMG_20191219_225922.jpg This issue is most likely in the i915 driver and is most likely caused by the
2012 Jul 13
5
[PATCH V3 0/3] Improve virtio-blk performance
This patchset implements bio-based IO path for virito-blk to improve performance. Fio test shows bio-based IO path gives the following performance improvement: 1) Ramdisk device With bio-based IO path, sequential read/write, random read/write IOPS boost : 28%, 24%, 21%, 16% Latency improvement: 32%, 17%, 21%, 16% 2) Fusion IO device With bio-based IO path, sequential
2012 Jul 13
5
[PATCH V3 0/3] Improve virtio-blk performance
This patchset implements bio-based IO path for virito-blk to improve performance. Fio test shows bio-based IO path gives the following performance improvement: 1) Ramdisk device With bio-based IO path, sequential read/write, random read/write IOPS boost : 28%, 24%, 21%, 16% Latency improvement: 32%, 17%, 21%, 16% 2) Fusion IO device With bio-based IO path, sequential
2009 Nov 05
0
[PATCH] Add VirtIO Frame Buffer Support
...eobuf-dma-sg.c > + I modified it to take an extra sg entry for the cmd and work with non > + page-aligned pointers though */ > +static struct scatterlist* vmalloc_to_sg(unsigned char *virt, int length, > + void *cmd, int cmd_len, int *sg_elem) > +{ > + struct scatterlist *sglist; > + struct page *pg; > + int nr_pages = (length+PAGE_SIZE-1)/PAGE_SIZE; Spaces are needed around +, - > + int sg_entries; > + int i; > + > + /* unaligned */ > + if ((ulong)virt & ~PAGE_MASK) { Use offset_in_page here and below? > + int tmp_len = length - (PAGE_SIZE...
2009 Nov 05
0
[PATCH] Add VirtIO Frame Buffer Support
...eobuf-dma-sg.c > + I modified it to take an extra sg entry for the cmd and work with non > + page-aligned pointers though */ > +static struct scatterlist* vmalloc_to_sg(unsigned char *virt, int length, > + void *cmd, int cmd_len, int *sg_elem) > +{ > + struct scatterlist *sglist; > + struct page *pg; > + int nr_pages = (length+PAGE_SIZE-1)/PAGE_SIZE; Spaces are needed around +, - > + int sg_entries; > + int i; > + > + /* unaligned */ > + if ((ulong)virt & ~PAGE_MASK) { Use offset_in_page here and below? > + int tmp_len = length - (PAGE_SIZE...
2018 Apr 20
2
[PATCH] kvmalloc: always use vmalloc if CONFIG_DEBUG_VM
...g_addr); else sg_addr = __pa(sg_addr); and videobuf: pg = vmalloc_to_page(virt); if (NULL == pg) goto err; BUG_ON(page_to_pfn(pg) >= (1 << (32 - PAGE_SHIFT))); sg_set_page(&sglist[i], pg, PAGE_SIZE, 0); Yes, there's the potential that we have to produce two SG entries for a virtually contiguous region if it crosses a page boundary, and our APIs aren't set up right to make it happen. But this is something we should consider fixing ... otherwise we'll end up with...