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

[Xen-devel] Re: [Xen-users] (xen) Possible bug: Memory squeeze in netbac

To: Erik Hensema <erik@xxxxxxxxxxx>
Subject: [Xen-devel] Re: [Xen-users] (xen) Possible bug: Memory squeeze in netback driver.
From: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue, 06 Jun 2006 16:43:42 -0500
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 06 Jun 2006 14:44:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200606062047.44746.erik@xxxxxxxxxxx>
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: <200606062047.44746.erik@xxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.2 (X11/20060522)
This is a rather curious path in the code involving rate limiting that I'm not all that familiar with. Does it help is you create the domains with a large maxmem than memory? For instance:

maxmem = 512
memory = 256

Perhaps someone with more experience in the rate limiting code can explain why this message is only printed when it's enabled? To save some work, here's the relevant bits from netback.c:net_rx_action():

       if (!xen_feature(XENFEAT_auto_translated_physmap)) {
           /* Memory squeeze? Back off for an arbitrary while. */
           if ((new_mfn = alloc_mfn()) == 0) {
               if ( net_ratelimit() )
                   WPRINTK("Memory squeeze in netback "
                       "driver.\n");
               mod_timer(&net_timer, jiffies + HZ);
               skb_queue_head(&rx_queue, skb);
               break;
           }

Does the rate limiting code cause increase_reservation to fail if you've exceeded your limit?

Regards,

Anthony Liguori

Erik Hensema wrote:
Hi everybody,

When I start more than about 3 domU's the following messages are logged in dom0:

Jun  6 18:30:03 thebe kernel: printk: 18 messages suppressed.
Jun 6 18:30:03 thebe kernel: xen_net: Memory squeeze in netback driver.
Jun  6 18:30:03 thebe last message repeated 9 times

This progressively gets worse when I start more and more domU's, up until the point some or all domU's lose their network connectivety.

When I google on the error message, a few pages turn up, but no real sollutions.

I'll try to describe my setup in detail:

the hardware:

AMD Opteron 144
4 GB ram
Dual Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet controllers

It's Aplus hardware from supermicro.

the software:

Suse Linux 10.1, default kernel: 2.6.16.13-4-xen
Xen version 3.0.2_09656-4 (abuild@xxxxxxx) (gcc version 4.1.0 (SUSE Linux)) Tue May 2 01:39:27 UTC 2006

I've got two bridges: xenbr0 and xenbr1:
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.feffffffffff       no              vif0.0
                                                        peth0
                                                        vif1.0
(all vifX.0)
xenbr1          8000.feffffffffff       no              vif0.1
                                                        peth1
                                                        vif1.1
(all vifX.1)

So basically I've got two seperate lans, available to all domains. No NAT. One lan is an internal vlan, the other lan is the public internet. Each domain runs an iptables firewall, including domain0. The firewall is your basic run-of-the-mill iptables firewall, rules are matching eth0 and eth1, no special modules are used.

domain0's got plenty of free ram when the memory squeeze happens:
thebe:~ # free -m
             total       used       free     shared    buffers  cached
Mem:          1506        646        859          0        290  101
-/+ buffers/cache:        255       1250
Swap:         4102          0       4102



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

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