David S. Miller wrote: > From: Al Boldi <a1426z@xxxxxxxxx> > > David S. Miller wrote: > > > We try to make approximations in the TCP stack, see the > > > net.ipv4.tcp_adv_win_scale sysctl and how the kernel uses that for > > > example. > > > > So can this be used to convince the kernel to utilize the full bandwidth > > w/o striping the connection? > > > > It seems kind of strange, that striping would be faster when it involves > > an inherent overhead. > > I don't understand your question, what is "striping"? Splitting the connection into subconnections to achieve bandwidth aggregation. This is usually done over multiple links, but can increase the thruput in the current kernel implementation even on a single link. > The tcp_adv_win_scale determines how much of the "socket buffer > space" we advertise in the actual TCP window. It's mean to > approximate the amount of structure and header overhead is > assosciated with each packet. > > But again, it's an approximation and there are cases where it > is suboptimal. Ok, so is this suboptimal approximation the reason why the kernel does not reach full bandwidth? If so, it would probably do a lot of good to look into this calculation, as there is definitely a linear link between CPU cycles and bandwith utilization. Not that the problem has anything to do with running out of CPU cycles, which can clearly be demonstrated by running multiple connections over the same link to achieve higher total thruput. Thanks! -- Al - : send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html