Re: kernel-level file serving optimizations

From: Alan Cox (alan@lxorguk.ukuu.org.uk)
Date: Mon Jul 17 2000 - 18:14:49 EST


> 1) A number of the sk_buff manipulation routines (skb_push, skb_pull,
> skb_reserve, etc.) assume that the packet data pointed to by skb->data
> is contiguous. This is not the case when doing scatter/gather

The entire system is built around linear buffers.

> doing checksums - see Q2). Is this actually the case? Are there other
> problems that might crop up due to non-contiguous sk_buff data, either
> durring data transmission or reception?

No other driver can handle them. IP in IP and other protocols may make
what you think is user data into header. You would need to add BSD like
m_pullup and more

> to do the checksum while copying the packet data, so without gather
> writes to the NIC it wouldn't help). It looks like the right place to
> check this flag for outgoing TCP packets would be in tcp_sendmsg, in
> tcp.c. Does anyone see any problems with this?

Until you can lock user pages down nicely and DMA from them it is not a
performance improvement to checksum in hardware.

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



This archive was generated by hypermail 2b29 : Sun Jul 23 2000 - 21:00:10 EST