]> git.baikalelectronics.ru Git - kernel.git/commit
iwlwifi: clear unattended interrupts in tasklet
authorShanyu Zhao <shanyu.zhao@intel.com>
Tue, 16 Mar 2010 17:22:26 +0000 (10:22 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 30 Mar 2010 19:37:31 +0000 (15:37 -0400)
commit057ee55a202bb4347262bc8fd6e00155a75a13c9
tree8980ff473c9d1bb56728517fe2e51b4369a5cd35
parent3228616dbab6a3b6fbb285ff5670d1ba6dfae94c
iwlwifi: clear unattended interrupts in tasklet

Previously in interrupt handling tasklet, iwlwifi driver only clear/ack
those interrupts that are enabled by the driver through inta_mask.
If the hardware generates unattended interrupts, driver will not ack them,
defeating the interrupt coalescing feature. This results in high number
of interrupts per second and high CPU utilization.

This patch addresses this issue by acking those unattended interrupts
in the tasklet. Local test showed an order of magnitude improvement
in terms of the number of interrupts without sacrificing networking
throughput. This is a workaround for hardware issue.

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
drivers/net/wireless/iwlwifi/iwl-agn.c