From owner-freebsd-xen@FreeBSD.ORG Wed May 27 06:30:09 2009 Return-Path: Delivered-To: freebsd-xen@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACCBA1065672 for ; Wed, 27 May 2009 06:30:09 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qy0-f105.google.com (mail-qy0-f105.google.com [209.85.221.105]) by mx1.freebsd.org (Postfix) with ESMTP id 688A28FC15 for ; Wed, 27 May 2009 06:30:09 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by qyk3 with SMTP id 3so6287539qyk.3 for ; Tue, 26 May 2009 23:30:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; bh=BVT743L/w71q5nfn4kKf4koIr8BiH1V0cPOCxKESPTQ=; b=kZxetns41orPFiq3kB83AKbqQKtdxgpWZ0IZJl200T67FYhZkX5Aa/zLxxBuUp1dJO Tjfjt39mYhyI+V/4dlVizhJp6rECOnH+KUmojGueJYbSZHKG7KiHBc/5srU00Xfdo6w/ b73kJQLCSkv+TTuiNbfYtepelJScY2cqzs6AE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; b=b+PIWN1hlhAzMcRRmOTfb5fp7SXvTFrOZ6jIkYcKM9XnRwX++QAyQMInJ/TcSl/Brh O1c/jrN//ogX29cIivoh5+Z1Q35mTANz2kj9cGHNyBatlRxbDHVLIIypqzLne6SgTzRQ tNqpcmresY0vp42fhx11r/x46byaS63+RlI/M= MIME-Version: 1.0 Sender: adrian.chadd@gmail.com Received: by 10.229.79.17 with SMTP id n17mr2648314qck.82.1243405808587; Tue, 26 May 2009 23:30:08 -0700 (PDT) Date: Wed, 27 May 2009 14:30:08 +0800 X-Google-Sender-Auth: 5d4ca4fbfa10db88 Message-ID: From: Adrian Chadd To: freebsd-xen@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: netfront changes (was Re: i386/134926: FreeBSD-current Xen DomU networking panic - out of tx mbufs?) X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 May 2009 06:30:09 -0000 G'day, I've committed some sanity checking code to the FreeBSD-current/Xen netfront drivers. The driver now ensures there are TX mbuf and xen TX ring descriptor slots available before it queues a packet. There's some debugging printf()'s that will spit out messages when things go awry, eg: xn_start_locked: xn_tx_chain_cnt (254) + nfrags 2 >= NET_TX_RING_SIZE (256); must be full! xn_start_locked: xn_tx_chain_cnt (255) + nfrags 1 >= NET_TX_RING_SIZE (256); must be full! This seems to have ceased the panics under CPU/memory pressure on my playpen server. I'm going to continue tidying up the netfront driver a little more over the next few days to hopefully wrap up some dangling loose ends which I can see. I'd appreciate it if people could give FreeBSD-current/Xen a right royal thrashing (eg, 4 FreeBSD vms on one host pegging network and CPU traffic at maximum between each other) to try and elicit any other crazy network behaviour. There's only so much I can test atm. Thanks, Adrian Adrian