search for: page_bmaps

Displaying 20 results from an estimated 31 matches for "page_bmaps".

Did you mean: page_bmap
2017 Apr 14
0
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...lloon_page_chunk_hdr *balloon_page_chunk_hdr; >> + struct virtio_balloon_page_chunk *balloon_page_chunk; >> + >> + /* Bitmap used to record pages */ >> + unsigned long *page_bmap[PAGE_BMAP_COUNT_MAX]; >> + /* Number of the allocated page_bmap */ >> + unsigned int page_bmaps; >> + >> + /* >> + * The allocated page_bmap size may be smaller than the pfn range of >> + * the ballooned pages. In this case, we need to use the page_bmap >> + * multiple times to cover the entire pfn range. It's like using a >> + * short ruler several...
2017 Apr 13
3
[PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...> + struct virtio_balloon_page_chunk_hdr *balloon_page_chunk_hdr; > + struct virtio_balloon_page_chunk *balloon_page_chunk; > + > + /* Bitmap used to record pages */ > + unsigned long *page_bmap[PAGE_BMAP_COUNT_MAX]; > + /* Number of the allocated page_bmap */ > + unsigned int page_bmaps; > + > + /* > + * The allocated page_bmap size may be smaller than the pfn range of > + * the ballooned pages. In this case, we need to use the page_bmap > + * multiple times to cover the entire pfn range. It's like using a > + * short ruler several times to finish measuri...
2017 Apr 13
3
[PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...> + struct virtio_balloon_page_chunk_hdr *balloon_page_chunk_hdr; > + struct virtio_balloon_page_chunk *balloon_page_chunk; > + > + /* Bitmap used to record pages */ > + unsigned long *page_bmap[PAGE_BMAP_COUNT_MAX]; > + /* Number of the allocated page_bmap */ > + unsigned int page_bmaps; > + > + /* > + * The allocated page_bmap size may be smaller than the pfn range of > + * the ballooned pages. In this case, we need to use the page_bmap > + * multiple times to cover the entire pfn range. It's like using a > + * short ruler several times to finish measuri...
2017 Apr 13
0
[PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
..._page_chunk * MAX_PAGE_CHUNKS + */ + struct virtio_balloon_page_chunk_hdr *balloon_page_chunk_hdr; + struct virtio_balloon_page_chunk *balloon_page_chunk; + + /* Bitmap used to record pages */ + unsigned long *page_bmap[PAGE_BMAP_COUNT_MAX]; + /* Number of the allocated page_bmap */ + unsigned int page_bmaps; + + /* + * The allocated page_bmap size may be smaller than the pfn range of + * the ballooned pages. In this case, we need to use the page_bmap + * multiple times to cover the entire pfn range. It's like using a + * short ruler several times to finish measuring a long object. + * The sta...
2017 Mar 16
0
[PATCH kernel v8 2/4] virtio-balloon: VIRTIO_BALLOON_F_CHUNK_TRANSFER
...+ resp_data_t *resp_data; + /* Size of response data buffer. */ + unsigned int resp_buf_size; + /* Pointer offset of the response data. */ + unsigned int resp_pos; + /* Bitmap used to record pages */ + unsigned long *page_bmap[PAGE_BMAP_COUNT_MAX]; + /* Number of split page bmaps */ + unsigned int page_bmaps; + + /* + * The allocated page_bmap size may be smaller than the pfn range of + * the ballooned pages. In this case, we need to use the page_bmap + * multiple times to cover the entire pfn range. It's like using a + * short ruler several times to finish measuring a long object. + * The sta...
2017 May 04
0
[PATCH v10 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
...hunk_init(struct virtio_balloon *vb) +{ + int i; + + vb->balloon_page_chunk = kmalloc(sizeof(__le64) + + sizeof(struct virtio_balloon_page_chunk_entry) * + VIRTIO_BALLOON_MAX_PAGE_CHUNKS, GFP_KERNEL); + if (!vb->balloon_page_chunk) + goto err_page_chunk; + + /* + * The default number of page_bmaps are allocated. More may be + * allocated on demand. + */ + for (i = 0; i < VIRTIO_BALLOON_PAGE_BMAP_DEFAULT_NUM; i++) { + vb->page_bmap[i] = kmalloc(VIRTIO_BALLOON_PAGE_BMAP_SIZE, + GFP_KERNEL); + if (!vb->page_bmap[i]) + goto err_page_bmap; + } + + return 0; +err_page_bmap: +...
2017 May 05
1
[PATCH v10 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
...i; > + > + vb->balloon_page_chunk = kmalloc(sizeof(__le64) + > + sizeof(struct virtio_balloon_page_chunk_entry) * > + VIRTIO_BALLOON_MAX_PAGE_CHUNKS, GFP_KERNEL); > + if (!vb->balloon_page_chunk) > + goto err_page_chunk; > + > + /* > + * The default number of page_bmaps are allocated. More may be > + * allocated on demand. > + */ > + for (i = 0; i < VIRTIO_BALLOON_PAGE_BMAP_DEFAULT_NUM; i++) { > + vb->page_bmap[i] = kmalloc(VIRTIO_BALLOON_PAGE_BMAP_SIZE, > + GFP_KERNEL); > + if (!vb->page_bmap[i]) > + goto err_page_bmap;...
2017 May 05
1
[PATCH v10 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
...i; > + > + vb->balloon_page_chunk = kmalloc(sizeof(__le64) + > + sizeof(struct virtio_balloon_page_chunk_entry) * > + VIRTIO_BALLOON_MAX_PAGE_CHUNKS, GFP_KERNEL); > + if (!vb->balloon_page_chunk) > + goto err_page_chunk; > + > + /* > + * The default number of page_bmaps are allocated. More may be > + * allocated on demand. > + */ > + for (i = 0; i < VIRTIO_BALLOON_PAGE_BMAP_DEFAULT_NUM; i++) { > + vb->page_bmap[i] = kmalloc(VIRTIO_BALLOON_PAGE_BMAP_SIZE, > + GFP_KERNEL); > + if (!vb->page_bmap[i]) > + goto err_page_bmap;...
2017 Jun 09
0
[PATCH v11 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
...alloon *vb) +{ + int i; + + vb->balloon_page_chunk.desc_table = alloc_indirect(vb->vdev, + VIRTIO_BALLOON_MAX_PAGE_CHUNKS, + GFP_KERNEL); + if (!vb->balloon_page_chunk.desc_table) + goto err_page_chunk; + vb->balloon_page_chunk.chunk_num = 0; + + /* + * The default number of page_bmaps are allocated. More may be + * allocated on demand. + */ + for (i = 0; i < VIRTIO_BALLOON_PAGE_BMAP_DEFAULT_NUM; i++) { + vb->balloon_page_chunk.page_bmap[i] = + kmalloc(VIRTIO_BALLOON_PAGE_BMAP_SIZE, GFP_KERNEL); + if (!vb->balloon_page_chunk.page_bmap[i]) + goto err_page_bmap...
2017 Apr 13
10
[PATCH v9 0/5] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements two optimizations: 1) transfer pages in chuncks between the guest and host; 2) transfer the guest unused pages to the host so that they can be skipped to migrate in live migration. Changes: v8->v9: 1) Split the two new features, VIRTIO_BALLOON_F_BALLOON_CHUNKS and VIRTIO_BALLOON_F_MISC_VQ, which were mixed together in the previous implementation; 2) Simpler
2017 Apr 13
10
[PATCH v9 0/5] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements two optimizations: 1) transfer pages in chuncks between the guest and host; 2) transfer the guest unused pages to the host so that they can be skipped to migrate in live migration. Changes: v8->v9: 1) Split the two new features, VIRTIO_BALLOON_F_BALLOON_CHUNKS and VIRTIO_BALLOON_F_MISC_VQ, which were mixed together in the previous implementation; 2) Simpler
2017 Jun 13
5
[PATCH v11 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
...st moving this to probe, that's where we do a bunch of inits. And then you can move private init back to allocate too. > + if (!vb->balloon_page_chunk.desc_table) > + goto err_page_chunk; > + vb->balloon_page_chunk.chunk_num = 0; > + > + /* > + * The default number of page_bmaps are allocated. More may be > + * allocated on demand. > + */ > + for (i = 0; i < VIRTIO_BALLOON_PAGE_BMAP_DEFAULT_NUM; i++) { > + vb->balloon_page_chunk.page_bmap[i] = > + kmalloc(VIRTIO_BALLOON_PAGE_BMAP_SIZE, GFP_KERNEL); > + if (!vb->balloon_page_chunk.page_b...
2017 Jun 13
5
[PATCH v11 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
...st moving this to probe, that's where we do a bunch of inits. And then you can move private init back to allocate too. > + if (!vb->balloon_page_chunk.desc_table) > + goto err_page_chunk; > + vb->balloon_page_chunk.chunk_num = 0; > + > + /* > + * The default number of page_bmaps are allocated. More may be > + * allocated on demand. > + */ > + for (i = 0; i < VIRTIO_BALLOON_PAGE_BMAP_DEFAULT_NUM; i++) { > + vb->balloon_page_chunk.page_bmap[i] = > + kmalloc(VIRTIO_BALLOON_PAGE_BMAP_SIZE, GFP_KERNEL); > + if (!vb->balloon_page_chunk.page_b...
2017 May 04
8
[PATCH v10 0/6] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements the follow two things: 1) Optimization of balloon page transfer: instead of transferring balloon pages to host one by one, the new mechanism transfers them in chunks. 2) A mechanism to report info of guest unused pages: the pages have been unused at some time between when host sent command and when guest reported them. Host uses that by tracking memory changes and
2017 May 04
8
[PATCH v10 0/6] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements the follow two things: 1) Optimization of balloon page transfer: instead of transferring balloon pages to host one by one, the new mechanism transfers them in chunks. 2) A mechanism to report info of guest unused pages: the pages have been unused at some time between when host sent command and when guest reported them. Host uses that by tracking memory changes and
2017 Jun 09
11
[PATCH v11 0/6] Virtio-balloon Enhancement
This patch series enhances the existing virtio-balloon with the following new features: 1) fast ballooning: transfer ballooned pages between the guest and host in chunks, instead of one by one; and 2) cmdq: a new virtqueue to send commands between the device and driver. Currently, it supports commands to report memory stats (replace the old statq mechanism) and report guest unused pages. Liang Li
2017 Jun 09
11
[PATCH v11 0/6] Virtio-balloon Enhancement
This patch series enhances the existing virtio-balloon with the following new features: 1) fast ballooning: transfer ballooned pages between the guest and host in chunks, instead of one by one; and 2) cmdq: a new virtqueue to send commands between the device and driver. Currently, it supports commands to report memory stats (replace the old statq mechanism) and report guest unused pages. Liang Li
2017 Mar 16
8
[PATCH kernel v8 0/4] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements two optimizations: 1) transfer pages in chuncks between the guest and host; 2) transfer the guest unused pages to the host so that they can be skipped to migrate in live migration. Please read each patch commit log for details. Changes: v7->v8: 1) Use only one chunk format, instead of two. 2) re-write the virtio-balloon implementation patch. 3) commit changes 4)
2017 Mar 16
8
[PATCH kernel v8 0/4] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements two optimizations: 1) transfer pages in chuncks between the guest and host; 2) transfer the guest unused pages to the host so that they can be skipped to migrate in live migration. Please read each patch commit log for details. Changes: v7->v8: 1) Use only one chunk format, instead of two. 2) re-write the virtio-balloon implementation patch. 3) commit changes 4)
2017 Mar 10
0
[virtio-dev] Re: [PATCH v7 kernel 3/5] virtio-balloon: implementation of VIRTIO_BALLOON_F_CHUNK_TRANSFER
...start_pfn = vb->start_pfn; >> + nr_pfn = vb->end_pfn - start_pfn + 1; >> + nr_pfn = roundup(nr_pfn, BITS_PER_LONG); >> + nr_used_bmap = nr_pfn / PFNS_PER_PAGE_BMAP; > better name here including "page"? > And bmaps instead of bmap? Agree. I'll call it page_bmaps. >> + if (nr_pfn % PFNS_PER_PAGE_BMAP) >> + nr_used_bmap++; > Pls just use macros like ALIGN or roundup? > >> + bmap_len = nr_pfn / BITS_PER_BYTE; > I guess we need to round up. > >> + >> + for (i = 0; i < nr_used_bmap; i++) { >> + unsigne...