search for: mergeable_page_to_buf

Displaying 3 results from an estimated 3 matches for "mergeable_page_to_buf".

2014 Jan 09
0
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
...return (void *) ((uintptr)base | (len >> MERGEABLE_BUFFER_SHIFT)); > } The APIs are a bit inconsistent in naming. Also it's unfortunate that we use void * for both virtio buffer and frame memory. How about mergeable_buf_to_len mergeable_buf_to_page mergeable_buf_to_offset mergeable_page_to_buf this way we don't use void * for frame memory. alternatively, cast virtio buffer to unsigned long immediately and pass that around everywhere. > /* Compute the packet buffer length for a receive queue. */ > static u16 get_mergeable_buffer_len(struct receive_queue *rq) { > u...
2014 Jan 09
3
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
Hi Michael, Here's a quick sketch of some code that enforces a minimum buffer alignment of only 64, and has a maximum theoretical buffer size of aligned GOOD_PACKET_LEN + (BUF_ALIGN - 1) * BUF_ALIGN, which is at least 1536 + 63 * 64 = 5568. On x86, we already use a 64 byte alignment, and this code supports all current buffer sizes, from 1536 to PAGE_SIZE. #if L1_CACHE_BYTES < 64 #define
2014 Jan 09
3
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
Hi Michael, Here's a quick sketch of some code that enforces a minimum buffer alignment of only 64, and has a maximum theoretical buffer size of aligned GOOD_PACKET_LEN + (BUF_ALIGN - 1) * BUF_ALIGN, which is at least 1536 + 63 * 64 = 5568. On x86, we already use a 64 byte alignment, and this code supports all current buffer sizes, from 1536 to PAGE_SIZE. #if L1_CACHE_BYTES < 64 #define