On 8/1/2016 10:19 PM, Gopakumar Choorakkot Edakkunni wrote: > Well, for my purpose I just ended up creating a seperate/smaller pool > earlier during bootup to try to guarantee its from one memseg. > > But I am assuming that this KNI restriction is something thats "currently" > not fixed and is "fixable" ?
> Any ideas on what the summary of the reason > for this restriction is - I was gonna check if I can fix that KNI expects all mbufs are from a physically continuous memory. This is because of current address translation implementation. mbufs allocated in userspace and accessed from both user and kernel space, so mbuf userspace virtual address needs to be converted into kernelspace virtual address. Currently this address translation done by first calculating an offset between virtual addresses using first filed of mempool, later applying same offset to all mbufs. This is why all mbufs should be in physically continuous memory. I think this address translation can be done in different way which can remove the restriction, but not sure about the effect of the performance. I will send a patch for this. Regards, ferruh