From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 18 12:51:41 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 624A91065673 for ; Fri, 18 Mar 2011 12:51:41 +0000 (UTC) (envelope-from marktinguely@gmail.com) Received: from mail-iw0-f182.google.com (mail-iw0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id 211348FC08 for ; Fri, 18 Mar 2011 12:51:40 +0000 (UTC) Received: by iwn33 with SMTP id 33so4641835iwn.13 for ; Fri, 18 Mar 2011 05:51:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=bF6/tL735Aj+zcYZ1uDepnlSJOMbuSYzY8Cou1H0l8I=; b=ot7jqgoHQQPeXt+6KPXkBIxG29Jb05VVleAYrrmFGcBdERs+l4LSfMcoeFmxaK3j/8 xQNdU8DG4mh+zuwRuWDI2LnbDc5uMMl5fKXdqT/X64N04vHwf2SAItIWJH6ZYRS7ojMY f7f1rNoK24LFFqGRb5PDfXyIQHryJeCSkBzqw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=fF7tV8caknSiVOaHpWFks4j5UmuJ2fH9fr0cws1RjKjttsmds+X098+CoqL4VpU96o SK3/30ridT99p7XbT8SX574XV2sPHe3c+2GHgZ8/d0XCOnuDNRdbsY98vSdm5NGrOY8C FMlIn4rEqw19R41nLr7eMT2qolA+jMQPdESNs= Received: by 10.231.117.93 with SMTP id p29mr875217ibq.126.1300451136390; Fri, 18 Mar 2011 05:25:36 -0700 (PDT) Received: from [192.168.1.101] (c-24-245-26-12.hsd1.mn.comcast.net [24.245.26.12]) by mx.google.com with ESMTPS id gy41sm291519ibb.56.2011.03.18.05.25.30 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 18 Mar 2011 05:25:32 -0700 (PDT) Message-ID: <4D834F35.5030806@gmail.com> Date: Fri, 18 Mar 2011 07:25:25 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: Mats Lindberg References: <4D7DFC6F.80008@gmail.com> <4D7E0831.4060804@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD 6 vs 8.1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Mar 2011 12:51:41 -0000 On 3/18/2011 3:35 AM, Mats Lindberg wrote: > So - after a while I've made some observations. > My problem is actually connected to arp. > > My config is very static so basically I want to turn off arp requests. > Somewhere in the startup scripts I did > > sysctl -w net.link.ether.inet.max_age=2147483647 (max accepted value) > Which on freebsd-6.x worked fine. > In freebsd-8.1 this makes the kernel arp functionality go bezerk - > probably an integer overflow somewhere. > arp requests were sent countinously from my freebsd-8.1 node to > others, flooding the network. > I tried to lower this value and found that 500000000s works fine > 1000000000s does not. 500000000s is OK to me so I won't try to narrow > it down more. > > The reason I was suspecting swapping problems was that after a while > with the flooding going on I got a kernel panic saying 'page fault', > which I would guess is a another bug, but, with a sensible setting on > the arp timeout the kernel panic does not show itself any longer. > > I've googled for my arp-setting problem but not found anything on it. > So - maybe I'm the first to see this. > Should I enter a bug report somewhere? > I guess this forum is not the place. > > /Mats > Did your HZ (timer interrupts per second) increase from 100 on FreeBSD-6 to 1000 on FreeBSD-8.1? This must be a 32 bit computer / OS because that variable is multiplied to hz: canceled = callout_reset(&la->la_timer, hz * V_arpt_keep, arptimer, la); and: #define callout_reset(c, on_tick, fn, arg) \ callout_reset_on((c), (on_tick), (fn), (arg), (c)->c_cpu) where: int callout_reset_on(struct callout *, int , void (*ftn)(void *), void *, int) I would guess that you are wrapping with 32 bit arithmetic to a small value. Both the hz==100 and hz==1000 will wrap to about the same number (a negative number). I did not look at the FreeBSD 6.x callout, but I think in the FreeBSD 8 callout, negative on_tick will be immediately called on the next tick.. A page fault panic is a kernel access to a non-mapped VA (a bad pointer). The panic message would have the VA and instruction address information. --Mark