problem with TCP zero copy (sendpage)

hochakhung@netscape.net
Tue, 14 Aug 2001 12:58:57 -0400


Hi,

I have been running a module that gets free pages from the kernel, fills it with data and then sends the page to another machine using TCP/IP. Everything works fine for the past month when I was using sock_sendmsg and scatter-gather to send the iovec of pages in one go with MSG_DONTWAIT flag set.
However, since the last week, I've tried using sock->ops->sendpage for each of the page(with the MSG_MORE flag set except for the last page which is sent with the MSG_DONTWAIT flag set). I also send the header with the sock_sendmsg() function with MSG_MORE set. However, after making these changes, the module crashes after a while(about 5-20 minutes) that gives me: KERNEL bug at Page_alloc.c 191, which corresponds to the following in the source code within the rmqueue() function:
if (BAD_RANGE(zone, page)) {
BUG();
}

Does anyone know where the problem is? Any hint would be greatly appreciated. Thanks a lot.

__________________________________________________________________
Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/

Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/