* Mark Knecht <markknecht@gmail.com> wrote:ok, that's forcedeth. Does that behavior go away if you revert the change below, via patch -p0 -R ? but in general, -rt will track IRQ cpu usage accurately, while mainline does not measure it at all when in idle. So a frequent IRQ on mainline might be using up similar amounts of of CPU time as well, but it's not reported. Ingo --- drivers/net/forcedeth.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) Index: linux-rt.q/drivers/net/forcedeth.c =================================================================== --- linux-rt.q.orig/drivers/net/forcedeth.c +++ linux-rt.q/drivers/net/forcedeth.c @@ -800,7 +800,7 @@ struct fe_priv { * Maximum number of loops until we assume that a bit in the irq mask * is stuck. Overridable with module param. */ -static int max_interrupt_work = 5; +static int max_interrupt_work = 50; /* * Optimization can be either throuput mode or cpu mode @@ -812,7 +812,7 @@ enum { NV_OPTIMIZATION_MODE_THROUGHPUT, NV_OPTIMIZATION_MODE_CPU }; -static int optimization_mode = NV_OPTIMIZATION_MODE_THROUGHPUT; +static int optimization_mode = NV_OPTIMIZATION_MODE_CPU; /* * Poll interval for timer irq @@ -3108,9 +3108,17 @@ static int nv_napi_poll(struct net_devic int retcode; if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) { + spin_lock_irqsave(&np->lock, flags); + nv_tx_done(dev); + spin_unlock_irqrestore(&np->lock, flags); + pkts = nv_rx_process(dev, limit); retcode = nv_alloc_rx(dev); } else { + spin_lock_irqsave(&np->lock, flags); + nv_tx_done_optimized(dev, np->tx_ring_size); + spin_unlock_irqrestore(&np->lock, flags); + pkts = nv_rx_process_optimized(dev, limit); retcode = nv_alloc_rx_optimized(dev); } -
| Washington Odhiambo | Weird Problem with NAT - more details |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Andrew Morton | -mm merge plans for 2.6.23 |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| David Miller | Re: [GIT]: Networking |
| Denys Fedoryshchenko | thousands of classes, e1000 TX unit hang |
