From owner-freebsd-alpha@FreeBSD.ORG Sun Nov 21 12:35:03 2004 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 69EE616A4CE; Sun, 21 Nov 2004 12:35:03 +0000 (GMT) Received: from ford.blinkenlights.nl (ford.blinkenlights.nl [213.204.211.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id B7A0143D48; Sun, 21 Nov 2004 12:35:02 +0000 (GMT) (envelope-from sten@blinkenlights.nl) Received: from tea.blinkenlights.nl (tea.blinkenlights.nl [192.168.1.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ford.blinkenlights.nl (Postfix) with ESMTP id E055E3E437; Sun, 21 Nov 2004 13:35:00 +0100 (CET) Received: by tea.blinkenlights.nl (Postfix, from userid 101) id 6A1E927E; Sun, 21 Nov 2004 13:35:00 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by tea.blinkenlights.nl (Postfix) with ESMTP id 51338192; Sun, 21 Nov 2004 13:35:00 +0100 (CET) Date: Sun, 21 Nov 2004 13:35:00 +0100 (CET) From: Sten Spans To: John Baldwin In-Reply-To: <200411191601.11773.jhb@FreeBSD.org> Message-ID: References: <200411191601.11773.jhb@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed cc: Robert Watson cc: freebsd-alpha@FreeBSD.org Subject: Re: alpha and em mtu X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Nov 2004 12:35:03 -0000 On Fri, 19 Nov 2004, John Baldwin wrote: > On Friday 19 November 2004 04:32 am, Sten Spans wrote: >> On Mon, 15 Nov 2004, Sten Spans wrote: >>> On Mon, 15 Nov 2004, John Baldwin wrote: >>>> On Monday 15 November 2004 04:07 pm, Sten Spans wrote: >>>>> On Mon, 15 Nov 2004, John Baldwin wrote: >>>>> >>>>> changed to ((off0 & 0x3) != 0), didn't seem to print anything. >>>> >>>> Ok, try this one then instead: >>>> >>>> Index: netinet/tcp_input.c >>>> =================================================================== >>>> RCS file: /usr/cvs/src/sys/netinet/tcp_input.c,v >>>> retrieving revision 1.255 >>>> diff -u -r1.255 tcp_input.c >>>> --- netinet/tcp_input.c 7 Nov 2004 19:19:35 -0000 1.255 >>>> +++ netinet/tcp_input.c 15 Nov 2004 21:19:50 -0000 >>>> @@ -504,6 +504,8 @@ >>>> } >>>> } >>>> ip = mtod(m, struct ip *); >>>> + if (((uintptr_t)ip & 0x3) != 0) >>>> + printf("%s: ip %p is misaligned\n", __func__, ip); >>>> ipov = (struct ipovly *)ip; >>>> th = (struct tcphdr *)((caddr_t)ip + off0); >>>> tlen = ip->ip_len; >>> >>> This does print something: >>> deepthought# ifconfig em0 mtu 1501 >>> deepthought# tcp_input: ip 0xfffffc001817f00e is misaligned >>> >>> fatal kernel trap: >>> >>> trap entry = 0x4 (unaligned access fault) >>> faulting va = 0xfffffc001817f02e >>> opcode = 0x28 >>> register = 0x1 >>> pc = 0xfffffc00004cd134 >>> ra = 0xfffffc00004ccf94 >>> sp = 0xfffffe00187a9af0 >>> curthread = 0xfffffc001f3a70e0 >>> pid = 14, comm = swi1: net >>> >>> [thread 100006] >>> Stopped at tcp_input+0x3a4: srl t0,#0x2,t0 >>> >>> >>> The ip's used are 192.168.1.3 and 192.168.1.4. >> >> Any luck or should I turn this into a pr ? > > Sorry, been busy recently. A PR certainly wouldn't hurt. Ok, I'll get that going. > Does this panic go > away if you use a different MTU btw? I've tried running i=1; while true; echo $i; ifconfig em0 mtu $i; let i++; sleep 2; and on the client: while true; do echo bla | telnet alpha 22; sleep 1; done this caused no crashes with mtu 1-1500. But: deepthought# ifconfig em0 mtu 1666 deepthought# tcp_input: ip 0xfffffc0018cdb00e is misaligned deepthought# ifconfig em0 mtu 1564 deepthought# tcp_input: ip 0xfffffc001857c80e is misaligned deepthought# ifconfig em0 mtu 1532 deepthought# tcp_input: ip 0xfffffc001859300e is misaligned If it has to be 8 bytes aligned then it's off by 4, doesn't seem to be vlanmtu though. -- Sten Spans "There is a crack in everything, that's how the light gets in." Leonard Cohen - Anthem