WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Badness in local_bh_enable

To: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Badness in local_bh_enable
From: Nick Craig-Wood <nick@xxxxxxxxxxxxxx>
Date: Mon, 11 Apr 2005 12:10:38 +0100
Cc: Nicholas Lee <nic-lists@xxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 11 Apr 2005 11:11:00 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <A95E2296287EAD4EB592B5DEEFCE0E9D1E34DF@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <A95E2296287EAD4EB592B5DEEFCE0E9D1E34DF@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
(re-opening an old thread)

On Tue, Mar 08, 2005 at 11:05:01AM -0000, Ian Pratt wrote:
>  > nic@stateless:~$ strings 
> > /lib/modules/2.6.10-xen0/kernel/net/rxrpc/rxrpc.ko | grep vermagic=
> > vermagic=2.6.10-xen0 preempt PENTIUM4 gcc-3.3 
> > 
> > These seems to be compiled with ARCH=xen.
> 
> Not necessarily. You may have used that -xen0 tree, but not specified
> ARCH=xen. There's no way to tell :-(
> 
> > nic@stateless:~$ strings 
> > /lib/modules/2.6.10-xenU/kernel/net/ipv4/netfilter/ipt_REJECT.
> > ko | grep vermagic=
> > vermagic=2.6.10-xenU preempt PENTIUM4 gcc-3.3
> > nic@stateless:~$ objdump -d 
> > /lib/modules/2.6.10-xenU/kernel/net/ipv4/netfilter/ipt_REJECT.
> > ko | egrep  -e sti
> >  b3f:   fb                      sti
> 
> Just finding a cli/sti in the disassembled output does not necessarily
> indicate a problem -- objdump frequently gets confused and disassembles
> things that are data, particularly after an undefined instruction e.g.
> the uda2 used for BUG messages.
> 
> You'll need to look at the instructions around the cli/sti to determine
> whether they're real or not.

Was this problem ever got to the bottom of?

We are seeing it too.  Lots of 

Badness in local_bh_enable at kernel/softirq.c:140
 [<c011fb12>] local_bh_enable+0x82/0x90
 [<c031fcfd>] skb_checksum+0x13d/0x2d0
 [<c016ac5c>] __pollwait+0x8c/0xd0
 [<c0360d3a>] udp_poll+0x9a/0x160
 [<c031af49>] sock_poll+0x29/0x40
 [<c016b635>] do_pollfd+0x95/0xa0
 [<c016b6aa>] do_poll+0x6a/0xd0
 [<c016b871>] sys_poll+0x161/0x240
 [<c011f14c>] sys_gettimeofday+0x3c/0x90
 [<c016abd0>] __pollwait+0x0/0xd0
 [<c0109758>] syscall_call+0x7/0xb

In the logs.

I've checked the loaded modules...

Module                  Size  Used by
sch_sfq                 4992  88 
cls_u32                 8068  101 
sch_cbq                15616  13 
ipt_state               1664  2 
ipt_REJECT              5888  3 
ipt_LOG                 6528  4 
ipt_limit               2176  4 
iptable_mangle          2432  0 
iptable_filter          3200  1 
ip_nat_ftp              4464  0 
ip_conntrack_ftp       71600  1 ip_nat_ftp
iptable_nat            23496  1 ip_nat_ftp
ip_conntrack           41364  4 
ipt_state,ip_nat_ftp,ip_conntrack_ftp,iptable_nat
ip_tables              17024  7 
ipt_state,ipt_REJECT,ipt_LOG,ipt_limit,iptable_mangle,iptable_filter,iptable_nat
e1000                  84788  0 

And these all have the right vermagic

# strings `cat /tmp/modules` | grep vermagic
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3
vermagic=2.6.10-x1d-p4 preempt PENTIUM4 gcc-3.3

# objdump -d `cat /tmp/modules` | grep -c cli
0

# objdump -d `cat /tmp/modules` | grep -c sti
2

Those two are clearly caused by bodged dissasembly, eg

 b65:   ff 8b 5c 24 38 85       decl   0x8538245c(%ebx)
 b6b:   db 0f                   fisttpl (%edi)
 b6d:   84 d2                   test   %dl,%dl
 b6f:   fb                      sti    
 b70:   ff                      (bad)  
 b71:   ff 8b 43 04 85 c0       decl   0xc0850443(%ebx)

I built the kernel using debian's make-kpkg which I wouldn't have
thought would have made a mistake.

Any other ideas?

This is kernel 2.6.10 running with xen 2.04.

-- 
Nick Craig-Wood <nick@xxxxxxxxxxxxxx> -- http://www.craig-wood.com/nick

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>