On 2012-03-19 9:39 AM, Johannes Berg wrote: > On Sun, 2012-03-18 at 12:13 +0100, Felix Fietkau wrote: >> On 2012-03-18 11:17 AM, Johannes Berg wrote: >> > On Sun, 2012-03-18 at 00:00 +0100, Felix Fietkau wrote: >> >> Calling mod_timer from the rx/tx hotpath is somewhat expensive, and the >> >> timeout doesn't need to be so precise. >> >> >> >> Switch to a different strategy: Schedule the timer initially, store jiffies >> >> of all last rx/tx activity which would previously modify the timer, and >> >> let the timer re-arm itself after checking the last rx/tx timestamp. >> > >> > I don't like this. It's not the optimisation you think it is on other >> > ("embedded") systems where firing a timer is more expensive. >> > >> > You're trading power consumption against CPU utilisation by causing the >> > timer to wake up. >> I considered that was well, but didn't think one wakeup every 5 seconds >> or so would be significant. Would you take the patch if I change the >> timer to be deferrable, so that it doesn't cause wakeups by itself? > > I'm not really convinced, for making them deferrable we should analyse > the consequences of that more carefully, for example it seems possible > that the system wakes up to send a packet, and then the first thing that > happens is a few aggregation handshakes ... that wastes a lot of time > and power. How is that any more expensive than triggering a wakeup before that time caused by the session timer expiry? > Also, at least for TX aggregation, you don't even give them a timeout in > ath9k so that wouldn't really be an issue? minstrel_ht does give it a timeout. OpenWrt is not using the ath9k rate control module. - Felix -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html