It is two different concept. Pages, is recognized as 1024 bytes or 4096 bytes, depends on the Intel PAGESIZE u set in the CPU. It is a CPU feature, such that the memory MMU always treats all memory access at the multiple of PAGESIZE level, when it does its translation from pagetable to virtual address. But network buffer, and going down into the hardware DMA, has a different concept of byte alignment. TCP/IP will wrap around that data with its header, and then DMA-mapped into the network devices. There is no need for any PAGESIZE alignment. But LOGICALLY, it is always possible to modify the kernel to recognize all these boundaries. For eg, get the actual pages in memory for the specific buffer pointer, and then squeeze the entire PAGESIZE down the network, and on the receiving side, just receive the entire PAGESIZE and then pump that PAGESIZE data into one physical memory page. And most important - update the pagetable to recognize this change. Sound really complicated, as there are alternative ways possible - eg, just implement some means of updating the pagetable remotely (one PTE is just 8 bytes), and then just transfer THE SINGLE BYTE of data (over the network) to be store in the physical memory. The two implementations described above, are purely my guess of how memory virtualization (over the network) worked: http://www.rnanetworks.com/cache-architecture#what-is-memory-virtualization http://en.wikipedia.org/wiki/Memory_virtualization But the cons of high network latency, plus privacy concerns (u want to share your memory with others - not forgetting that they are peeping at you all the time?) plus the high complexities of managing hardware MMU transition logic (pagetable management) and plus the low costs of memory chips - I think this area is a bit of challenging at the moment :-). (All references I can find indicated this is a theoretical area of study right now). Feel free to disagree and share your thoughts. Apologized if I had veered off-course in the question. (someone asked me similar questions though). On Fri, Aug 21, 2009 at 2:13 PM, krushnaal pai<krisonearth@xxxxxxxxx> wrote: > by converting the char *buffer into pages i want to send pages over the > network thru socket. how to? > -- Regards, Peter Teoh -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ