On Tue, 25 Sep 2007 23:36:25 +0800 "john ye" <[EMAIL PROTECTED]> wrote:
> Jamal, > > You pointed out a key point: it's NOT acceptable if massive packet > re-ordering couldn¡¯t be avoided. > I debugged function tcp_ofo_queue in net/ipv4/tcp_input.c & monitored > out_of_order_queue, found that re-ordering > becomes unacceptable with the softirq load grows. > > It's simple to avoid out-of-order packets by changing random dispatch into > dispatch based on source ip address. > e.g. cpu = iph->saddr % nr_cpus. while cpu is like a hash entry. > Considering that BS patch is mainly used on server with many incoming > connections, > dispatch by IP should balance CPU load well. > > The test is under way, it's not bad so far. > The queue spin_lock seems not cost much. > > Below is the bcpp beautified module code. Last time code mess is caused by > outlook express which killed tabs. > > Thanks. > > John Ye There is a standard hash called RSS, that many drivers support because it is used by other operating systems. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html