public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Badalian Vyacheslav <slavon@bigtelecom•ru>
To: Jarek Poplawski <jarkao2@gmail•com>
Cc: netdev@vger•kernel.org
Subject: Re: deadlocks if use htb
Date: Fri, 10 Oct 2008 12:46:44 +0400	[thread overview]
Message-ID: <48EF1674.904@bigtelecom.ru> (raw)
In-Reply-To: <20081010075640.GA5204@ff.dom.local>

Jarek Poplawski пишет:
> On 10-10-2008 07:44, Badalian Vyacheslav wrote:
>   
>> Hello all!
>>     
>
> Hello Slavon,
>
>   
>> Please look to if you have time:
>> http://bugzilla.kernel.org/show_bug.cgi?id=11718
>>
>> We have deadlocks at few PC one times in week.
>> I can test any patches to detect and fix problem.
>> Now i test 2.6.27-rc kernel at one PC.
>>     
>
> A similar bug was reported by Denys Fedoryshchenko but it wasn't fully
> diagnosed. Anyway it looks like hardware dependent. The patch below
> can sometimes help. 2.6.27 may have this fixed too (some other way).
>
>   
2.6.27 - get it now!


[ 6951.841662] BUG: NMI Watchdog detected LOCKUP on CPU3, ip c01fde4c,
registers:
[ 6951.841662] Modules linked in: sch_sfq sch_htb netconsole e1000
i2c_i801 e1000e i2c_core
[ 6951.841662]
[ 6951.841662] Pid: 0, comm: swapper Not tainted (2.6.27-fw #1)
[ 6951.841662] EIP: 0060:[<c01fde4c>] EFLAGS: 00000092 CPU: 3
[ 6951.841662] EIP is at __rb_rotate_right+0xc/0x70
[ 6951.841662] EAX: f70c3c68 EBX: f70c3c68 ECX: f70c3c68 EDX: c202c134
[ 6951.841662] ESI: f70c3c68 EDI: f70c3c68 EBP: c202c134 ESP: f785fc2c
[ 6951.841662]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 6951.841662] Process swapper (pid: 0, ti=f785e000 task=f7832940
task.ti=f785e000)
[ 6951.841662] Stack: f70c3c68 f70c3c68 f70c3c68 c01fdf41 f70c3c68
00000000 c202c12c c202c134
[ 6951.841662]        c013a91f f70c3c68 c202c12c c202212c c045b100
c013ae0a 00000000 c013d63d
[ 6951.841662]        9a011800 00000652 00000001 00000282 00000652
f70c3c68 00000000 00000000
[ 6951.841662] Call Trace:
[ 6951.841662]  [<c01fdf41>] rb_insert_color+0x91/0xc0
[ 6951.841662]  [<c013a91f>] enqueue_hrtimer+0x5f/0x80
[ 6951.841662]  [<c013ae0a>] hrtimer_start+0xaa/0x130
[ 6951.841662]  [<c013d63d>] getnstimeofday+0x3d/0xe0
[ 6951.841662]  [<c02de83d>] qdisc_watchdog_schedule+0x3d/0x50
[ 6951.841662]  [<f88ac343>] htb_dequeue+0x683/0x7b0 [sch_htb]
[ 6951.841662]  [<c02ce692>] dev_hard_start_xmit+0x1d2/0x2c0
[ 6951.841662]  [<c02dc87a>] __qdisc_run+0x13a/0x1d0
[ 6951.841662]  [<c02d0ed7>] dev_queue_xmit+0x227/0x4f0
[ 6951.841662]  [<c02f29ff>] ip_finish_output+0x11f/0x280
[ 6951.841662]  [<c02f00e0>] ip_forward+0x290/0x310
[ 6951.841662]  [<c02efe35>] ip_forward_finish+0x25/0x40
[ 6951.841662]  [<c02ee9a2>] ip_rcv_finish+0x122/0x360
[ 6951.841662]  [<c02c8cc6>] __alloc_skb+0x36/0x120
[ 6951.841662]  [<c02c9d02>] __netdev_alloc_skb+0x22/0x50
[ 6951.841662]  [<c02eee20>] ip_rcv+0x0/0x290
[ 6951.841662]  [<c02ce064>] netif_receive_skb+0x274/0x4d0
[ 6951.841662]  [<c0108b1a>] nommu_map_single+0x2a/0x60
[ 6951.841662]  [<f883be39>] e1000_receive_skb+0x49/0x80 [e1000e]
[ 6951.841662]  [<f883e84c>] e1000_clean_rx_irq+0x23c/0x300 [e1000e]
[ 6951.841662]  [<f883b3ad>] e1000_clean+0x1bd/0x570 [e1000e]
[ 6951.841662]  [<c02d03bc>] net_rx_action+0x13c/0x200
[ 6951.841662]  [<c0129b72>] __do_softirq+0x82/0x100
[ 6951.841662]  [<c0129c27>] do_softirq+0x37/0x40
[ 6951.841662]  [<c0106060>] do_IRQ+0x40/0x80
[ 6951.841662]  [<c01134c7>] smp_apic_timer_interrupt+0x57/0x90
[ 6951.841662]  [<c010457f>] common_interrupt+0x23/0x28
[ 6951.841662]  [<c0109aa2>] mwait_idle+0x32/0x40
[ 6951.841662]  [<c01026c8>] cpu_idle+0x48/0xe0
[ 6951.841662]  =======================
[ 6951.841662] Code: 24 08 83 e0 03 09 d0 89 03 8b 1c 24 83 c4 0c c3 89
56 08 eb e3 8d 76 00 8d bc 27 00 00 00 00 83 ec 0c 89 1c 24 89 c3 89 7c
24 08 <89> d7 89 74 24 04 8b 50 08 8b 30 8b 4a 04 83 e6 fc 85 c9 89 48




> Jarek P.
>
> (some offsets are OK when patching 2.6.26)
> ---
>
>  net/sched/sch_htb.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
> index 30c999c..ff9e965 100644
> --- a/net/sched/sch_htb.c
> +++ b/net/sched/sch_htb.c
> @@ -162,6 +162,7 @@ struct htb_sched {
>  
>  	int rate2quantum;	/* quant = rate / rate2quantum */
>  	psched_time_t now;	/* cached dequeue time */
> +	psched_time_t next_watchdog;
>  	struct qdisc_watchdog watchdog;
>  
>  	/* non shaped skbs; let them go directly thru */
> @@ -920,7 +921,11 @@ static struct sk_buff *htb_dequeue(struct Qdisc *sch)
>  		}
>  	}
>  	sch->qstats.overlimits++;
> -	qdisc_watchdog_schedule(&q->watchdog, next_event);
> +	if (q->next_watchdog < q->now || next_event <=
> +	     q->next_watchdog - PSCHED_TICKS_PER_SEC / HZ) {
> +		qdisc_watchdog_schedule(&q->watchdog, next_event);
> +		q->next_watchdog = next_event;
> +	}
>  fin:
>  	return skb;
>  }
> @@ -973,6 +978,7 @@ static void htb_reset(struct Qdisc *sch)
>  		}
>  	}
>  	qdisc_watchdog_cancel(&q->watchdog);
> +	q->next_watchdog = 0;
>  	__skb_queue_purge(&q->direct_queue);
>  	sch->q.qlen = 0;
>  	memset(q->row, 0, sizeof(q->row));
>
>   


  reply	other threads:[~2008-10-10  8:46 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-10  5:44 deadlocks if use htb Badalian Vyacheslav
2008-10-10  7:56 ` Jarek Poplawski
2008-10-10  8:46   ` Badalian Vyacheslav [this message]
2008-10-10  8:52   ` Badalian Vyacheslav
2008-10-10  9:04     ` Jarek Poplawski
2008-10-10  9:51       ` Jarek Poplawski
2008-10-16  8:28         ` Badalian Vyacheslav
2008-10-16  8:40           ` Jarek Poplawski
2008-10-22  6:06             ` Badalian Vyacheslav
2008-10-22  7:02               ` Jarek Poplawski
2008-12-10 15:14                 ` Badalian Vyacheslav
2008-12-11  8:46                   ` Jarek Poplawski
2008-12-15 11:13                     ` Jarek Poplawski
2008-12-16  7:37                       ` Badalian Vyacheslav
2008-12-18  6:43                       ` Badalian Vyacheslav
2008-12-18  8:17                         ` Jarek Poplawski
2008-12-18 11:23                           ` Badalian Vyacheslav
2008-12-18 11:37                             ` Jarek Poplawski
2009-01-14  2:43                           ` Chris Caputo
2009-01-14  6:39                             ` Jarek Poplawski
2009-01-14 12:17                               ` Denys Fedoryschenko
2009-01-14 12:36                                 ` Jarek Poplawski
2009-01-14 12:41                                   ` Denys Fedoryschenko
2009-01-14 12:50                                 ` Peter Zijlstra
2009-01-14 13:04                                   ` Jarek Poplawski
2009-01-14 13:05                                   ` Denys Fedoryschenko
2009-01-14 13:12                                     ` Jarek Poplawski
2009-01-14 13:15                                       ` Peter Zijlstra
2009-01-14 13:19                                         ` Denys Fedoryschenko
2009-01-14 13:26                                         ` Jarek Poplawski
2009-01-14 13:32                                           ` Peter Zijlstra
2009-01-14 13:57                                             ` Jarek Poplawski
2009-01-14 14:13                                             ` Jarek Poplawski
2009-01-14 14:28                                               ` Peter Zijlstra
2009-01-14 14:39                                                 ` Jarek Poplawski
2009-01-15  9:01                                                 ` Jarek Poplawski
2009-01-15 10:46                                                   ` Peter Zijlstra
2009-01-15 10:54                                                     ` Jarek Poplawski
2009-01-14 18:02                                   ` Chris Caputo
2009-01-15  6:53                                     ` Jarek Poplawski
2009-01-15  7:12                                       ` Badalian Vyacheslav
2009-01-15  8:09                                         ` Jarek Poplawski
2009-01-15  9:01                                           ` Denys Fedoryschenko
2009-01-15  9:06                                             ` Jarek Poplawski
2009-01-15  9:40                                               ` Badalian Vyacheslav
2009-01-15  9:54                                                 ` Jarek Poplawski
2009-01-15  9:57                                                   ` Denys Fedoryschenko
2009-01-15 10:06                                                     ` Jarek Poplawski
2009-01-15 10:10                                                     ` Jarek Poplawski
2009-01-15 10:40                                                       ` Denys Fedoryschenko
2009-01-15  7:26                                       ` Chris Caputo
2009-01-15  7:54                                         ` Jarek Poplawski
2009-01-15  9:45                                           ` Jarek Poplawski
2009-01-15 12:00                                             ` Chris Caputo
2009-01-15 12:18                                               ` Jarek Poplawski
2009-01-15 13:53                                                 ` Chris Caputo
2009-01-16  6:51                                                   ` Badalian Vyacheslav
2009-01-19  5:46                                       ` David Miller
2009-01-19  6:57                                         ` [PATCH] " Jarek Poplawski
2009-01-19  7:42                                           ` Badalian Vyacheslav
2009-01-19  7:57                                             ` Jarek Poplawski
2009-01-20  1:29                                               ` David Miller
2008-10-10 12:32   ` Patrick McHardy
2008-10-10 12:34     ` Patrick McHardy
2008-10-10 12:54       ` Badalian Vyacheslav

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48EF1674.904@bigtelecom.ru \
    --to=slavon@bigtelecom$(echo .)ru \
    --cc=jarkao2@gmail$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox