On Thu, 2016-04-07 at 18:36 -0700, Dexuan Cui wrote: > Hyper-V Sockets (hv_sock) supplies a byte-stream based communication > mechanism between the host and the guest. It's somewhat like TCP over > VMBus, but the transportation layer (VMBus) is much simpler than IP. [] > diff --git a/include/net/af_hvsock.h b/include/net/af_hvsock.h [] > +#define VMBUS_RINGBUFFER_SIZE_HVSOCK_RECV (5 * PAGE_SIZE) > +#define VMBUS_RINGBUFFER_SIZE_HVSOCK_SEND (5 * PAGE_SIZE) > + > +#define HVSOCK_RCV_BUF_SZ VMBUS_RINGBUFFER_SIZE_HVSOCK_RECV > +#define HVSOCK_SND_BUF_SZ PAGE_SIZE [] > +struct hvsock_sock { [] > + struct { > + struct vmpipe_proto_header hdr; > + char buf[HVSOCK_SND_BUF_SZ]; > + } __packed send; > + > + struct { > + struct vmpipe_proto_header hdr; > + char buf[HVSOCK_RCV_BUF_SZ]; > + unsigned int data_len; > + unsigned int data_offset; > + } __packed recv; > +}; These bufs are not page aligned and so can span pages. Is there any value in allocating these bufs separately as pages instead of as a kmalloc? _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel