From owner-freebsd-mips@FreeBSD.ORG Wed May 26 05:03:59 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 147B8106566C for ; Wed, 26 May 2010 05:03:59 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-pz0-f183.google.com (mail-pz0-f183.google.com [209.85.222.183]) by mx1.freebsd.org (Postfix) with ESMTP id DD6B38FC1F for ; Wed, 26 May 2010 05:03:58 +0000 (UTC) Received: by pzk13 with SMTP id 13so4667150pzk.13 for ; Tue, 25 May 2010 22:03:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=BjcIEHPFe1y7asZwZnH+ZDys4pO1oYJSwKj+GikmDUs=; b=DUinXqNOCvMPzVa3YWxcJVMhH0r7Cny5X7vCu7/ZvJyNgE7uNMQvlKDrbCXeE7e1SH wC+75yCS1MsRaRKVSm57PvtEfAG1bByvBj8NOmow+oDWxX8PFLF95MylSxpuDmiM6Ge+ IuF9Nqi0qG6kmwyO4b/Lv/8dHkZqsYGm0dIY4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=OUnpNyTPCpum6uoV0opiBeMQVaw1BjHGA26IDJwzXWuNWRCEEz1ORl+LP7v0RXcP/T uDDxYwjaDRh3iT4quGNBDr6iM7oznEPuosdorqMgX6chMSHcs+AFXUnr4evvSAJPs1VN 14/dxSJ5V1TQZi16ofEoV9H7Eio5wNI9GwaZE= MIME-Version: 1.0 Received: by 10.141.90.5 with SMTP id s5mr6169388rvl.262.1274850238136; Tue, 25 May 2010 22:03:58 -0700 (PDT) Received: by 10.141.32.4 with HTTP; Tue, 25 May 2010 22:03:58 -0700 (PDT) Date: Wed, 26 May 2010 10:33:58 +0530 Message-ID: From: "C. Jayachandran" To: Randall Stewart , Neel Natu , freebsd-mips@freebsd.org Content-Type: multipart/mixed; boundary=000e0cd50a5a9601e804877833ad Cc: Subject: Fixes to the new pagetable page allocation code. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 05:03:59 -0000 --000e0cd50a5a9601e804877833ad Content-Type: text/plain; charset=ISO-8859-1 The attached patch (also at http://people.freebsd.org/~jchandra/for-review/pmap-alloc-page-fix.diff) has two fixes for the new pagetable page allocation code, one to handle NULL return from the allocating function, and another to call VM_WAIT in cases we can wait. It also removes the variable 'req' left over from an earlier change. Please let me know if you have any comments... JC. --000e0cd50a5a9601e804877833ad Content-Type: text/x-patch; charset=US-ASCII; name="pmap-alloc-page-fix.diff" Content-Disposition: attachment; filename="pmap-alloc-page-fix.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9mkdknk0 SW5kZXg6IHN5cy9taXBzL21pcHMvcG1hcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMv cG1hcC5jCShyZXZpc2lvbiAyMDg1MzMpCisrKyBzeXMvbWlwcy9taXBzL3BtYXAuYwkod29ya2lu ZyBjb3B5KQpAQCAtOTY5LDEwICs5NjksMTUgQEAKIAkJKCJwbWFwX3B0cGd6b25lX2FsbG9jZjog aW52YWxpZCBhbGxvY2F0aW9uIHNpemUgJWQiLCBieXRlcykpOwogCiAJKmZsYWdzID0gVU1BX1NM QUJfUFJJVjsKLQltID0gdm1fcGh5c19hbGxvY19jb250aWcoMSwgMCwgTUlQU19LU0VHMF9MQVJH RVNUX1BIWVMsCi0JICAgICBQQUdFX1NJWkUsIFBBR0VfU0laRSk7Ci0JaWYgKG0gPT0gTlVMTCkK LQkJcmV0dXJuIChOVUxMKTsKKwlmb3IgKDs7KSB7CisJCW0gPSB2bV9waHlzX2FsbG9jX2NvbnRp ZygxLCAwLCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUywKKwkJICAgIFBBR0VfU0laRSwgUEFHRV9T SVpFKTsKKwkJaWYgKG0gIT0gTlVMTCkKKwkJCWJyZWFrOworCQlpZiAoKHdhaXQgJiBNX1dBSVRP SykgPT0gMCkKKwkJCXJldHVybiAoTlVMTCk7CisJCVZNX1dBSVQ7CisJfQogCiAJcGFkZHIgPSBW TV9QQUdFX1RPX1BIWVMobSk7CiAJcmV0dXJuICgodm9pZCAqKU1JUFNfUEhZU19UT19LU0VHMChw YWRkcikpOwpAQCAtMTAzOSw4ICsxMDQ0LDEwIEBACiAJICogYWxsb2NhdGUgdGhlIHBhZ2UgZGly ZWN0b3J5IHBhZ2UKIAkgKi8KIAlwdGRwZyA9IHBtYXBfYWxsb2NfcHRlX3BhZ2UocG1hcCwgTlVT RVJQR1RCTFMsIE1fV0FJVE9LLCAmcHRkdmEpOworCWlmIChwdGRwZyA9PSBOVUxMKQorCQlyZXR1 cm4gKDApOworCiAJcG1hcC0+cG1fc2VndGFiID0gKHBkX2VudHJ5X3QgKilwdGR2YTsKLQogCXBt YXAtPnBtX2FjdGl2ZSA9IDA7CiAJcG1hcC0+cG1fcHRwaGludCA9IE5VTEw7CiAJZm9yIChpID0g MDsgaSA8IE1BWENQVTsgaSsrKSB7CkBAIC0xMDYyLDEzICsxMDY5LDExIEBACiB7CiAJdm1fb2Zm c2V0X3QgcHRldmE7CiAJdm1fcGFnZV90IG07Ci0JaW50IHJlcTsKIAogCUtBU1NFUlQoKGZsYWdz ICYgKE1fTk9XQUlUIHwgTV9XQUlUT0spKSA9PSBNX05PV0FJVCB8fAogCSAgICAoZmxhZ3MgJiAo TV9OT1dBSVQgfCBNX1dBSVRPSykpID09IE1fV0FJVE9LLAogCSAgICAoIl9wbWFwX2FsbG9jcHRl OiBmbGFncyBpcyBuZWl0aGVyIE1fTk9XQUlUIG5vciBNX1dBSVRPSyIpKTsKIAotCXJlcSA9IFZN X0FMTE9DX1dJUkVEIHwgVk1fQUxMT0NfWkVSTyB8IFZNX0FMTE9DX05PT0JKOwogCS8qCiAJICog RmluZCBvciBmYWJyaWNhdGUgYSBuZXcgcGFnZXRhYmxlIHBhZ2UKIAkgKi8K --000e0cd50a5a9601e804877833ad-- From owner-freebsd-mips@FreeBSD.ORG Wed May 26 05:30:54 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72BB9106567C for ; Wed, 26 May 2010 05:30:54 +0000 (UTC) (envelope-from neelnatu@gmail.com) Received: from mail-pz0-f183.google.com (mail-pz0-f183.google.com [209.85.222.183]) by mx1.freebsd.org (Postfix) with ESMTP id 4823F8FC30 for ; Wed, 26 May 2010 05:30:53 +0000 (UTC) Received: by pzk13 with SMTP id 13so4678687pzk.13 for ; Tue, 25 May 2010 22:30:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=pj2SCSl2MHNeWU/AkTQ7N7ZAQ0HZ8dDXz12zJXRdQrY=; b=Q7+6PNgC1ny3E0oRZWQps2HDpSM+IHuILiSkXXfVcq6hT1h689106Zx5jDF6ksUBGV ljrmUPe5UDZLrlRJp5tVqN2Ftnxij9e7caNq48Nmwbic7kbuW400xiaRobK4IJkaS+iA XBRZfl2HaG1AO9M7Im8Cx99ZM9z5J6Zdc4wdM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=anqJTeRa4gTWDGL2qkSb/LkF7BY/5YwiDc48SnReEQB+7lQX+slXcC9HsFdqlUw/iW O+3MhNHVGc6SkllDITbJf34AlwK8owtZu5id/VXW+zU2FPjXmb9fSa/1MNFQcYdJPH3a ngubBT3EjPcZ55QkKHvv1TWi0RODH/SycjH40= MIME-Version: 1.0 Received: by 10.142.209.4 with SMTP id h4mr5425050wfg.245.1274851851189; Tue, 25 May 2010 22:30:51 -0700 (PDT) Received: by 10.142.172.9 with HTTP; Tue, 25 May 2010 22:30:51 -0700 (PDT) In-Reply-To: References: Date: Tue, 25 May 2010 22:30:51 -0700 Message-ID: From: Neel Natu To: "C. Jayachandran" Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-mips@freebsd.org Subject: Re: Fixes to the new pagetable page allocation code. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 05:30:54 -0000 Hi JC, On Tue, May 25, 2010 at 10:03 PM, C. Jayachandran wrote: > The attached patch (also at > http://people.freebsd.org/~jchandra/for-review/pmap-alloc-page-fix.diff) > has two fixes for the new pagetable page allocation code, one to > handle NULL return from the allocating function, and another to call > VM_WAIT in cases we can wait. It also removes the variable 'req' left > over from an earlier change. > > Please let me know if you have any comments... > Your patch looks fine. Checking the value of 'ptdpg' is redundant given that you are passing in M_WAITOK. I don't think we expect the allocation to fail now that you have added the check for M_WAITOK in zone allocator function. best Neel > JC. > From owner-freebsd-mips@FreeBSD.ORG Wed May 26 07:32:26 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C8C11065676 for ; Wed, 26 May 2010 07:32:26 +0000 (UTC) (envelope-from rrs@lakerest.net) Received: from lakerest.net (unknown [IPv6:2001:240:585:2:213:d4ff:fef3:2d8d]) by mx1.freebsd.org (Postfix) with ESMTP id D99FE8FC14 for ; Wed, 26 May 2010 07:32:25 +0000 (UTC) Received: from [10.1.1.53] ([10.1.1.53]) (authenticated bits=0) by lakerest.net (8.14.3/8.14.3) with ESMTP id o4Q7WOkm018695 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 26 May 2010 03:32:25 -0400 (EDT) (envelope-from rrs@lakerest.net) DKIM-Signature: a=rsa-sha1; c=simple/simple; d=lakerest.net; s=mail; t=1274859145; h=Cc:Message-Id:From:To:In-Reply-To:Content-Type: Content-Transfer-Encoding:Mime-Version:Subject:Date:References: X-Mailer; b=DbpfgC7UR23oQWhE2r20PR4Ir7P72Aj9d63Vp4v49AE94p/d9MXl0A6 rUHNmBly7im/cwYRC/IDarwOzv7xK1Q== Message-Id: <35D2DD59-83B6-4D7A-9619-E29424ABEDF1@lakerest.net> From: Randall Stewart To: Neel Natu In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Date: Wed, 26 May 2010 03:32:24 -0400 References: X-Mailer: Apple Mail (2.936) Cc: freebsd-mips@freebsd.org Subject: Re: Fixes to the new pagetable page allocation code. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 07:32:26 -0000 JC: It looks good to me too ;-) R On May 26, 2010, at 1:30 AM, Neel Natu wrote: > Hi JC, > > On Tue, May 25, 2010 at 10:03 PM, C. Jayachandran > wrote: >> The attached patch (also at >> http://people.freebsd.org/~jchandra/for-review/pmap-alloc-page-fix.diff) >> has two fixes for the new pagetable page allocation code, one to >> handle NULL return from the allocating function, and another to call >> VM_WAIT in cases we can wait. It also removes the variable 'req' left >> over from an earlier change. >> >> Please let me know if you have any comments... >> > > Your patch looks fine. > > Checking the value of 'ptdpg' is redundant given that you are passing > in M_WAITOK. I don't think we expect the allocation to fail now that > you have added the check for M_WAITOK in zone allocator function. > > best > Neel > >> JC. >> > ------------------------------ Randall Stewart 803-317-4952 (cell) From owner-freebsd-mips@FreeBSD.ORG Wed May 26 09:25:55 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C1FF106566C for ; Wed, 26 May 2010 09:25:55 +0000 (UTC) (envelope-from ray@dlink.ua) Received: from dlink.ua (smtp.dlink.ua [193.138.187.146]) by mx1.freebsd.org (Postfix) with ESMTP id EAE588FC44 for ; Wed, 26 May 2010 09:25:54 +0000 (UTC) Received: from gw ([192.168.10.10] helo=terran) by dlink.ua with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1OHCra-0005Br-Eo; Wed, 26 May 2010 12:25:22 +0300 Date: Wed, 26 May 2010 12:27:19 +0300 From: Alexandr Rybalko To: "C. Jayachandran" Message-Id: <20100526122719.5f163434.ray@dlink.ua> In-Reply-To: References: Organization: D-Link X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-mips@freebsd.org Subject: Re: Fixes to the new pagetable page allocation code. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 09:25:55 -0000 Hi, On Wed, 26 May 2010 10:33:58 +0530 "C. Jayachandran" wrote: >> The attached patch (also at >> http://people.freebsd.org/~jchandra/for-review/pmap-alloc-page-fix.diff) >> has two fixes for the new pagetable page allocation code, one to >> handle NULL return from the allocating function, and another to call >> VM_WAIT in cases we can wait. It also removes the variable 'req' left >> over from an earlier change. >> >> Please let me know if you have any comments... >> >> JC. >> + for (;;) { >> + m = vm_phys_alloc_contig(1, 0, MIPS_KSEG0_LARGEST_PHYS, >> + PAGE_SIZE, PAGE_SIZE); >> + if (m != NULL) >> + break; >> + if ((wait & M_WAITOK) == 0) >> + return (NULL); >> + VM_WAIT; >> + } So under low memory, subsystem will blocked forever if set M_WAITOK? I don`t think is good idea. -- Alexandr Rybalko aka Alex RAY From owner-freebsd-mips@FreeBSD.ORG Wed May 26 10:07:32 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44EA6106566C for ; Wed, 26 May 2010 10:07:32 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-pz0-f183.google.com (mail-pz0-f183.google.com [209.85.222.183]) by mx1.freebsd.org (Postfix) with ESMTP id 173588FC19 for ; Wed, 26 May 2010 10:07:31 +0000 (UTC) Received: by pzk13 with SMTP id 13so4802040pzk.13 for ; Wed, 26 May 2010 03:07:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=APxhQS8u9fNfAxQ7t/kXQ0bDtIobP0dtc0vfYtyKEn8=; b=VXqkYiVrE4PsnmiXuDIq/ci+jzFSJMhqFZv9pRQA6AvtlBhoQ5SlHILX1yooClKO/m FtW0vwoHyeKgTzJc9eBx2xlb7OJ06dXwz7ah/2XFREdr6cuV+kUIDrTppDlLF78WQlaU BPK31e75Kh2rcxdhmemOu2Pz82TzrQZQLr4Fg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=IyMO9uSFEvT8CQc3x5LOgsmm9ZBBMm6etaQMt+rTklxPUuqpuXslUHLR9Vjfinpau2 Kh6GQ0fRtMyKEBAc5GTU2aONr1Yhgz3rSJ8j+51UT3mx9QR4foo6egg8JV3ScNqKUxBn 0b67tkVYAT7YR5kGcbugT61dJ1jogHRACTh0w= MIME-Version: 1.0 Received: by 10.140.248.20 with SMTP id v20mr6435747rvh.235.1274868451532; Wed, 26 May 2010 03:07:31 -0700 (PDT) Received: by 10.141.32.4 with HTTP; Wed, 26 May 2010 03:07:31 -0700 (PDT) In-Reply-To: <20100526122719.5f163434.ray@dlink.ua> References: <20100526122719.5f163434.ray@dlink.ua> Date: Wed, 26 May 2010 15:37:31 +0530 Message-ID: From: "C. Jayachandran" To: Alexandr Rybalko Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Fixes to the new pagetable page allocation code. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 10:07:32 -0000 On Wed, May 26, 2010 at 2:57 PM, Alexandr Rybalko wrote: > Hi, > > On Wed, 26 May 2010 10:33:58 +0530 > "C. Jayachandran" wrote: > >>> The attached patch (also at >>> http://people.freebsd.org/~jchandra/for-review/pmap-alloc-page-fix.diff= ) >>> has two fixes for the new pagetable page allocation code, one to >>> handle NULL return from the allocating function, and another to call >>> VM_WAIT in cases we can wait. It also removes the variable 'req' left >>> over from an earlier change. >>> >>> Please let me know if you have any comments... >>> >>> JC. > >>> + =A0 =A0for (;;) { >>> + =A0 =A0 =A0 =A0 =A0 =A0m =3D vm_phys_alloc_contig(1, 0, MIPS_KSEG0_LA= RGEST_PHYS, >>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PAGE_SIZE, PAGE_SIZE); >>> + =A0 =A0 =A0 =A0 =A0 =A0if (m !=3D NULL) >>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0break; >>> + =A0 =A0 =A0 =A0 =A0 =A0if ((wait & M_WAITOK) =3D=3D 0) >>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return (NULL); >>> + =A0 =A0 =A0 =A0 =A0 =A0VM_WAIT; >>> + =A0 =A0} > > So under low memory, subsystem will blocked forever if set M_WAITOK? > I don`t think is good idea. This seems to be standard pattern followed for VM_WAIT usage, I had checked a few other architectures for the usage. Unfortunately, I don't have the sufficient background in FreeBSD VM to say why it is so. JC. From owner-freebsd-mips@FreeBSD.ORG Wed May 26 13:12:02 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13909106566B for ; Wed, 26 May 2010 13:12:02 +0000 (UTC) (envelope-from ray@dlink.ua) Received: from dlink.ua (smtp.dlink.ua [193.138.187.146]) by mx1.freebsd.org (Postfix) with ESMTP id C0CB78FC1C for ; Wed, 26 May 2010 13:12:01 +0000 (UTC) Received: from gw ([192.168.10.10] helo=terran) by dlink.ua with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1OHGOL-0001UN-0Z; Wed, 26 May 2010 16:11:25 +0300 Date: Wed, 26 May 2010 16:13:23 +0300 From: Alexandr Rybalko To: "C. Jayachandran" Message-Id: <20100526161323.ea52370a.ray@dlink.ua> In-Reply-To: References: <20100526122719.5f163434.ray@dlink.ua> Organization: D-Link X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: freebsd-mips@freebsd.org Subject: Re: Fixes to the new pagetable page allocation code. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 13:12:02 -0000 On Wed, 26 May 2010 15:37:31 +0530 "C. Jayachandran" wrote: >> On Wed, May 26, 2010 at 2:57 PM, Alexandr Rybalko wrote: >> > Hi, >> > >> > On Wed, 26 May 2010 10:33:58 +0530 >> > "C. Jayachandran" wrote: >> > >> >>> The attached patch (also at >> >>> http://people.freebsd.org/~jchandra/for-review/pmap-alloc-page-fix.diff) >> >>> has two fixes for the new pagetable page allocation code, one to >> >>> handle NULL return from the allocating function, and another to call >> >>> VM_WAIT in cases we can wait. It also removes the variable 'req' left >> >>> over from an earlier change. >> >>> >> >>> Please let me know if you have any comments... >> >>> >> >>> JC. >> > >> >>> +    for (;;) { >> >>> +            m = vm_phys_alloc_contig(1, 0, MIPS_KSEG0_LARGEST_PHYS, >> >>> +                PAGE_SIZE, PAGE_SIZE); >> >>> +            if (m != NULL) >> >>> +                    break; >> >>> +            if ((wait & M_WAITOK) == 0) >> >>> +                    return (NULL); >> >>> +            VM_WAIT; >> >>> +    } >> > >> > So under low memory, subsystem will blocked forever if set M_WAITOK? >> > I don`t think is good idea. >> >> This seems to be standard pattern followed for VM_WAIT usage, I had >> checked a few other architectures for the usage. >> >> Unfortunately, I don't have the sufficient background in FreeBSD VM to >> say why it is so. >> >> JC. OK, then looks good to me too :) -- Alexandr Rybalko aka Alex RAY From owner-freebsd-mips@FreeBSD.ORG Wed May 26 19:15:35 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACE3310656C8 for ; Wed, 26 May 2010 19:15:35 +0000 (UTC) (envelope-from phcoder@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.152]) by mx1.freebsd.org (Postfix) with ESMTP id 399A18FC23 for ; Wed, 26 May 2010 19:15:34 +0000 (UTC) Received: by fg-out-1718.google.com with SMTP id d23so151652fga.13 for ; Wed, 26 May 2010 12:15:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:x-enigmail-version:content-type; bh=/p+t1jOtH8LHPqK6vVeJzrVeETga36Dkmvi7TZX6rMg=; b=lan34eRzvnysCuTAWeNxfHzAC5a7zbpx0CtvxPdEXmf/XPyHOSrBTmTmUbXkXwjYyT QH7wWp3jTYQa9yTsJSXYtQ+5nCZfmNtN9PTr2vYb05MdlBT4yNY62YZC9Da2ggcuaXos XMUSHZv4fg1RxqqgZ3Tq2JpLwzxbemZED/hPw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type; b=LPeZF60VDaAc+bgmcIoiUGm45EFJUqJJKIw30bCqaZNSvDiOJ0uuIbrzNQKthDQB1J HPKddjZxwk7yx+cWKMHpESAEoj+QsHcJqkzxyYr8XH4RWIguSaJXRb+M+JsDMIxteq6u vFabmd6wBUPvL30WdqGNFOaWKxmxlCC75q7kQ= Received: by 10.204.47.98 with SMTP id m34mr3216940bkf.35.1274899476789; Wed, 26 May 2010 11:44:36 -0700 (PDT) Received: from debian.bg45.phnet (gprs35.swisscom-mobile.ch [193.247.250.35]) by mx.google.com with ESMTPS id r38sm1585645bkk.15.2010.05.26.11.44.33 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 26 May 2010 11:44:35 -0700 (PDT) Message-ID: <4BFD6C01.2020008@gmail.com> Date: Wed, 26 May 2010 20:44:17 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) MIME-Version: 1.0 To: freebsd-mips@freebsd.org X-Enigmail-Version: 0.95.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig5FDFBA2C299351E1C7FC9355" Subject: GSoC Yeeloong port report: ddb X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 19:15:35 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig5FDFBA2C299351E1C7FC9355 This is a multi-part message in MIME format. --------------020108010401000607010702 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, all. I would like announce progress on my GSoC of porting FreeBSD to yeeloong. As you can see from minicom capture it already initialises ddb before dereferencing NULL pointer in vm/vm_mmap.c. Loongson 2F doesn't implement COP0 register indices so e.g. all cache information will be hardcoded for now and received from bootloader in perspective. I'm aware that many values in cpuinfo is still missing and that it will create problems but at least I have debugger (even though debugger bugs on mips64) Available at: http://bazaar.launchpad.net/~phcoder/kfreebsd-yeeloong/trunk/changes Or //depot/projects/soc2010/phcoder_yeeloong Perforce copy will be outdated by about a day because I have trouble with my option modem under FreeBSD and so I upload to perforce when I have wifi access. --=20 Regards Vladimir '=CF=86-coder/phcoder' Serbinenko --------------020108010401000607010702 Content-Type: application/cap; name="freebsd_ddb.cap" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="freebsd_ddb.cap" Ym9vdAplbnRyeTogbWlwc19pbml0KCkKQ2FjaGUgaW5mbzoKICBwaWNhY2hlX3N0cmlkZSAg ICA9IDAKICBwaWNhY2hlX2xvb3Bjb3VudCA9IDAKICBwZGNhY2hlX3N0cmlkZSAgICA9IDAK ICBwZGNhY2hlX2xvb3Bjb3VudCA9IDAKY3B1MDogVW5rbm93biBjaWQgMCBwcm9jZXNzb3Ig djMuOTkKICBNTVU6IFN0YW5kYXJkIEJBVCwgNjQgZW50cmllcwogIEwxIGktY2FjaGU6IDAg d2F5cyBvZiAwIHNldHMsIDMyIGJ5dGVzIHBlciBsaW5lCiAgTDEgZC1jYWNoZTogMCB3YXlz IG9mIDAgc2V0cywgMzIgYnl0ZXMgcGVyIGxpbmUKUGh5c2ljYWwgbWVtb3J5IGNodW5rKHMp OgoweDQ1ZjAwMCAtIDB4ZmJhMWZmZiwgMjU5MjcyNzA0IGJ5dGVzICg2MzI5OSBwYWdlcykK TWF4bWVtIGlzIDB4ZmJhMjAwMApLREI6IGRlYnVnZ2VyIGJhY2tlbmRzOiBkZGIKS0RCOiBj dXJyZW50IGJhY2tlbmQ6IGRkYgpoej0xMDAgY3lsX3Blcl90aWNrOjQwMDAwMCBjeWxfcGVy X3VzZWM6NDAwIGZyZXE6NDAwMDAwMDAwIGN5bF9wZXJfaHo6NDAwMDAwMCBjeWxfcGVyX3N0 YXRoejo0MDAwMDAwIGN5bF9wZXJfcHJvZmh6OjQwMDAwMDAKQ29weXJpZ2h0IChjKSAxOTky LTIwMTAgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChjKSAxOTc5LCAxOTgwLCAx OTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAxOTk0CglUaGUgUmVn ZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZyZWVCU0Qg Rm91bmRhdGlvbi4KRnJlZUJTRCA5LjAtQ1VSUkVOVCAjMjk6IFdlZCBNYXkgMjYgMTk6NTQ6 MTcgQ0VTVCAyMDEwCiAgICBwaGNvZGVyQGZyZWVic2QuYmc0NS5waG5ldDovaG9tZS9waGNv ZGVyL2NvbXBpbGUvbWlwcy9ob21lL3BoY29kZXIvcDQveWVlbG9vbmcvc3JjL3N5cy9ZRUVM T09ORyBtaXBzClRyYXAgY2F1c2UgPSAyIChUTEIgbWlzcyAobG9hZCBvciBpbnN0ci4gZmV0 Y2gpIC0ga2VybmVsIG1vZGUpClsgdGhyZWFkIHBpZCAwIHRpZCAwIF0KU3RvcHBlZCBhdCAg ICAgIDB4ZmZmZmZmZmY4MDM4NWM2NDogICAgIGxidSAgICAgdjAsMjA1KGEwKQpkYj4g --------------020108010401000607010702-- --------------enig5FDFBA2C299351E1C7FC9355 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iF4EAREKAAYFAkv9bA4ACgkQNak7dOguQgk5YAD9H2gmlX4yk8xZlfwuOAfwH97Q 1IxxmFEr5LCj1ISJHlEA/3N7bGUHH7ogWQ1G5xXksyJEjm7XBfC/wx/MvrUcbARF =f1T7 -----END PGP SIGNATURE----- --------------enig5FDFBA2C299351E1C7FC9355-- From owner-freebsd-mips@FreeBSD.ORG Wed May 26 22:27:25 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AAD7E106566B for ; Wed, 26 May 2010 22:27:25 +0000 (UTC) (envelope-from phcoder@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.154]) by mx1.freebsd.org (Postfix) with ESMTP id 322548FC1F for ; Wed, 26 May 2010 22:27:24 +0000 (UTC) Received: by fg-out-1718.google.com with SMTP id d23so222244fga.13 for ; Wed, 26 May 2010 15:27:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:x-enigmail-version:content-type; bh=aW00YQYsL2wW5CLuIllwgG9/tUjiJRLlzYqYuXmcMm0=; b=phaPoDCQ3NI5166DzvjPT4Clcz5A24DCf3olncsX69QoqAUZUFNaG7qZewI/LYJXXr bMqIiAhOIzNz8PJhkQ7uENmpH+vD/AF9NLZ2W1Ot0M24rkT/ZH7yzEQcDUo3Dazt2f5P 2NSzMDpC1sJiC1olLRFPPMQLXSn8yTupXv0jw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type; b=UOUHBu/LcLB+2Ck2+uBI92qaqo9w08iDPUsQT81P03aYJNCVZV1vrWyogXknpKjkMF j7NA0szz/Dto0SKkLjNdbwksXrQuCYbHs7iXGWRqRv1paWQSzCnlcQ4xbgH8pabAwDtZ NV56kSfRaHIRP2IL9II7DWRARitAUT33qK3ts= Received: by 10.204.29.18 with SMTP id o18mr1524961bkc.179.1274912844102; Wed, 26 May 2010 15:27:24 -0700 (PDT) Received: from debian.bg45.phnet (gprs11.swisscom-mobile.ch [193.247.250.11]) by mx.google.com with ESMTPS id h21sm2375050bkh.23.2010.05.26.15.27.19 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 26 May 2010 15:27:23 -0700 (PDT) Message-ID: <4BFDA036.7080502@gmail.com> Date: Thu, 27 May 2010 00:27:02 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) MIME-Version: 1.0 To: freebsd-mips@freebsd.org X-Enigmail-Version: 0.95.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enigD727110BCA27BDBB1AB618B8" Subject: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 22:27:25 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigD727110BCA27BDBB1AB618B8 This is a multi-part message in MIME format. --------------080906000803010207060400 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I've come accross this issue when coding for yeeloong. It's easy to fix (patch attached). After applying the patch I had the session with debugger as in attached capture file. Can this patch go directly to -current ? --=20 Regards Vladimir '=CF=86-coder/phcoder' Serbinenko --------------080906000803010207060400 Content-Type: text/x-diff; name="mips64_bt.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="mips64_bt.diff" =3D=3D=3D modified file 'mips/mips/db_trace.c' --- mips/mips/db_trace.c 2010-05-26 07:47:16 +0000 +++ mips/mips/db_trace.c 2010-05-26 22:19:06 +0000 @@ -49,9 +49,19 @@ #define MIPS_END_OF_FUNCTION(ins) ((ins) =3D=3D 0x03e00008) =20 /* - * kdbpeekD(addr) - skip one word starting at 'addr', then read the seco= nd word + * kdbpeekD(addr) - read double word. */ -#define kdbpeekD(addr) kdbpeek(((int *)(addr)) + 1) + +static inline register_t +kdbpeekD (uintptr_t addr) { +#ifdef __MIPSEL__ + return ((register_t) kdbpeek ((int *) addr)) + | (((register_t) kdbpeek ((int *) addr + 1)) << 32); +#else + return ((register_t) kdbpeek ((int *) addr + 1)) + | (((register_t) kdbpeek ((int *) addr)) << 32); +#endif +} =20 /* * Functions ``special'' enough to print by name @@ -140,7 +150,7 @@ } /* check for bad SP: could foul up next frame */ /*XXX MIPS64 bad: this hard-coded SP is lame */ - if (sp & 3 || sp < 0x80000000) { + if (sp & 3 || (uintptr_t) sp < 0xffffffff80000000ULL) { (*printfn) ("SP 0x%x: not in kernel\n", sp); ra =3D 0; subr =3D 0; @@ -181,7 +191,7 @@ } /* check for bad PC */ /*XXX MIPS64 bad: These hard coded constants are lame */ - if (pc & 3 || pc < (uintptr_t)0x80000000) { + if (pc & 3 || (uintptr_t)pc < 0xffffffff80000000ULL) { (*printfn) ("PC 0x%x: not in kernel\n", pc); ra =3D 0; goto done; @@ -303,32 +313,34 @@ mask |=3D (1 << i.IType.rt); switch (i.IType.rt) { case 4:/* a0 */ - args[0] =3D kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[0] =3D kdbpeekD(sp + (short)i.IType.imm); valid_args[0] =3D 1; break; =20 case 5:/* a1 */ - args[1] =3D kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[1] =3D kdbpeekD(sp + (short)i.IType.imm); valid_args[1] =3D 1; break; =20 case 6:/* a2 */ - args[2] =3D kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[2] =3D kdbpeekD(sp + (short)i.IType.imm); valid_args[2] =3D 1; break; =20 case 7:/* a3 */ - args[3] =3D kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[3] =3D kdbpeekD(sp + (short)i.IType.imm); valid_args[3] =3D 1; break; =20 case 31: /* ra */ - ra =3D kdbpeekD((int *)(sp + (short)i.IType.imm)); + ra =3D kdbpeekD(sp + (short)i.IType.imm); } break; =20 case OP_ADDI: case OP_ADDIU: + case OP_DADDIU: + case OP_DADDI: /* look for stack pointer adjustment */ if (i.IType.rs !=3D 29 || i.IType.rt !=3D 29) break; @@ -337,17 +349,18 @@ } =20 done: - (*printfn) ("%s+%x (", fn_name(subr), pc - subr); + (*printfn) ("%s+%lx (", fn_name(subr), (unsigned long) (pc - subr)); for (j =3D 0; j < 4; j ++) { if (j > 0) (*printfn)(","); if (valid_args[j]) - (*printfn)("%x", args[j]); + (*printfn)("%lx", (unsigned long) args[j]); else (*printfn)("?"); } =20 - (*printfn) (") ra %x sp %x sz %d\n", ra, sp, stksize); + (*printfn) (") ra %lx sp %lx sz %ld\n", (unsigned long) ra, + (unsigned long) sp, (long) stksize); =20 if (ra) { if (pc =3D=3D ra && stksize =3D=3D 0) --------------080906000803010207060400 Content-Type: application/cap; name="capthu.cap" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="capthu.cap" R1JVQiBDUzU1MzYgYXQgMDAwMDAyMDBTTUJ1cyBjb250cm9sbGVyIGVuYWJsZWQuCjAwMDAw MDgwQ2FjaGVzIGVuYWJsZWQKV2VsY29tZSB0byBHUlVCIQoKZXJyb3I6IG5vIGRldmljZSBj b25uZWN0ZWQuCmVycm9yOiBubyBkZXZpY2UgY29ubmVjdGVkLgpHTlUgR1JVQiAgdmVyc2lv biAxLjk4CgogICBNaW5pbWFsIEJBU0gtbGlrZSBsaW5lIGVkaXRpbmcgaXMgc3VwcG9ydGVk LiBGb3IgdGhlIGZpcnN0IHdvcmQsIFRBQgogICBsaXN0cyBwb3NzaWJsZSBjb21tYW5kIGNv bXBsZXRpb25zLiBBbnl3aGVyZSBlbHNlIFRBQiBsaXN0cyBwb3NzaWJsZQogICBkZXZpY2Ug b3IgZmlsZSBjb21wbGV0aW9ucy4gCgoKCgoKZ3J1Yj4gbXVsdGlib290MiAodXNiMCxtc2Rv czEpL2tlcm5lbApncnViPiBib290CmVudHJ5OiBtaXBzX2luaXQoKQpDYWNoZSBpbmZvOgog IHBpY2FjaGVfc3RyaWRlICAgID0gMAogIHBpY2FjaGVfbG9vcGNvdW50ID0gMAogIHBkY2Fj aGVfc3RyaWRlICAgID0gMAogIHBkY2FjaGVfbG9vcGNvdW50ID0gMApjcHUwOiBVbmtub3du IGNpZCAwIHByb2Nlc3NvciB2My45OQogIE1NVTogU3RhbmRhcmQgQkFULCA2NCBlbnRyaWVz CiAgTDEgaS1jYWNoZTogMCB3YXlzIG9mIDAgc2V0cywgMzIgYnl0ZXMgcGVyIGxpbmUKICBM MSBkLWNhY2hlOiAwIHdheXMgb2YgMCBzZXRzLCAzMiBieXRlcyBwZXIgbGluZQpQaHlzaWNh bCBtZW1vcnkgY2h1bmsocyk6CjB4NDVmMDAwIC0gMHhmYmExZmZmLCAyNTkyNzI3MDQgYnl0 ZXMgKDYzMjk5IHBhZ2VzKQpNYXhtZW0gaXMgMHhmYmEyMDAwCktEQjogZGVidWdnZXIgYmFj a2VuZHM6IGRkYgpLREI6IGN1cnJlbnQgYmFja2VuZDogZGRiCmh6PTEwMCBjeWxfcGVyX3Rp Y2s6NDAwMDAwIGN5bF9wZXJfdXNlYzo0MDAgZnJlcTo0MDAwMDAwMDAgY3lsX3Blcl9oejo0 MDAwMDAwIGN5bF9wZXJfc3RhdGh6OjQwMDAwMDAgY3lsX3Blcl9wcm9maHo6NDAwMDAwMApD b3B5cmlnaHQgKGMpIDE5OTItMjAxMCBUaGUgRnJlZUJTRCBQcm9qZWN0LgpDb3B5cmlnaHQg KGMpIDE5NzksIDE5ODAsIDE5ODMsIDE5ODYsIDE5ODgsIDE5ODksIDE5OTEsIDE5OTIsIDE5 OTMsIDE5OTQKCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEu IEFsbCByaWdodHMgcmVzZXJ2ZWQuCkZyZWVCU0QgaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFy ayBvZiBUaGUgRnJlZUJTRCBGb3VuZGF0aW9uLgpGcmVlQlNEIDkuMC1DVVJSRU5UICMzNjog VGh1IE1heSAyNyAwMDoxNTo1NSBDRVNUIDIwMTAKICAgIHBoY29kZXJAZnJlZWJzZC5iZzQ1 LnBobmV0Oi9ob21lL3BoY29kZXIvY29tcGlsZS9taXBzL2hvbWUvcGhjb2Rlci9wNC95ZWVs b29uZy9zcmMvc3lzL1lFRUxPT05HIG1pcHMKVHJhcCBjYXVzZSA9IDIgKFRMQiBtaXNzIChs b2FkIG9yIGluc3RyLiBmZXRjaCkgLSBrZXJuZWwgbW9kZSkKWyB0aHJlYWQgcGlkIDAgdGlk IDAgXQpTdG9wcGVkIGF0ICAgICAgMHhmZmZmZmZmZjgwMzg1YzY0OiAgICAgbGJ1ICAgICB2 MCwyMDUoYTApCmRiPiB0ClRyYWNpbmcgcGlkIDAgdGlkIDAgdGQgMHhmZmZmZmZmZjgwNDNm MDcwCmZmZmZmZmZmODAzYzgyMTgrNDAgKD8sPyw/LD8pIHJhIGZmZmZmZmZmODAxMzczYjgg c3AgZmZmZmZmZmY4MDQ3MDBlMCBzeiAxNgpmZmZmZmZmZjgwMTM3MjMwKzE4OCAoMCw/LGZm ZmZmZmZmZmZmZmZmZmYsPykgcmEgZmZmZmZmZmY4MDEzNmFmOCBzcCBmZmZmZmZmZjgwNDcw MGYwIHN6IDQ4CmZmZmZmZmZmODAxMzY2NjArNDk4ICg/LD8sPyw/KSByYSBmZmZmZmZmZjgw MTM2ZGM4IHNwIGZmZmZmZmZmODA0NzAxMjAgc3ogMTkyCmZmZmZmZmZmODAxMzZjZDArZjgg KD8sPyw/LD8pIHJhIGZmZmZmZmZmODAxM2E2MDAgc3AgZmZmZmZmZmY4MDQ3MDFlMCBzeiAx NgpmZmZmZmZmZjgwMTNhNDQwKzFjMCAoPyw/LD8sPykgcmEgZmZmZmZmZmY4MDIyOTVhYyBz cCBmZmZmZmZmZjgwNDcwMWYwIHN6IDgxNgpmZmZmZmZmZjgwMjI5NDIwKzE4YyAoPyw/LD8s PykgcmEgZmZmZmZmZmY4MDNiOTQ0YyBzcCBmZmZmZmZmZjgwNDcwNTIwIHN6IDMyCnRyYXAr MWM4YyAoPyw/LD8sPykgcmEgZmZmZmZmZmY4MDNhZDI0MCBzcCBmZmZmZmZmZjgwNDcwNTQw IHN6IDI1NgpNaXBzS2VybkdlbkV4Y2VwdGlvbisxNTQgKDAsMCwwLGZmZmZmZmZmODA0NzA5 MDApIHJhIGZmZmZmZmZmODAzODVjNjQgc3AgZmZmZmZmZmY4MDQ3MDY0MCBzeiAzNjgKZmZm ZmZmZmY4MDM4NWM1OCtjICg/LD8sPyw/KSByYSBmZmZmZmZmZjgwMzg4MDg4IHNwIGZmZmZm ZmZmODA0NzA3YjAgc3ogMTYKZmZmZmZmZmY4MDM4ODAxOCs3MCAoZmZmZmZmZmY4MDQ3MDhm OCw/LDAsPykgcmEgZmZmZmZmZmY4MDM3OWU1YyBzcCBmZmZmZmZmZjgwNDcwN2MwIHN6IDEy OApmZmZmZmZmZjgwMzc5ZDcwK2VjICgwLGZmZmZmZmZmYzAwMDIwMDAsMiwwKSByYSBmZmZm ZmZmZjgwM2I4MjgwIHNwIGZmZmZmZmZmODA0NzA4NDAgc3ogNDgwCnRyYXArYWMwICg/LD8s Pyw/KSByYSBmZmZmZmZmZjgwM2FkMjQwIHNwIGZmZmZmZmZmODA0NzBhMjAgc3ogMjU2Ck1p cHNLZXJuR2VuRXhjZXB0aW9uKzE1NCAoZmZmZmZmZmZjMDAwMjAwNCwwLDEsZmZmZmZmZmZj MDAzMDAwMCkgcmEgZmZmZmZmZmY4MDNjYTVlNCBzcCBmZmZmZmZmZjgwNDcwYjIwIHN6IDM2 OApmZmZmZmZmZjgwM2NhNWIwKzM0ICg/LD8sPyw/KSByYSAwIHNwIGZmZmZmZmZmODA0NzBj OTAgc3ogMApwaWQgMApkYj4gc2hvdyByZWdpc3RlcnMKYXQgICAgICAgICAgMHhmZmZmZmZm ZjgwNDQxN2Q4CnYwICAgICAgICAgICAgICAgICAweDEKdjEgICAgICAgICAgICAgICAgICAg MAphMCAgICAgICAgICAgICAgICAgICAwCmExICAgICAgICAgICAgICAgICAgIDAKYTIgICAg ICAgICAgICAgICAgICAgMAphMyAgICAgICAgICAweGZmZmZmZmZmODA0NzA5MDAKdDAgICAg ICAgICAgMHhmZmZmZmZmZjgwMzk2OWZjCnQxICAgICAgICAgICAgICAweDEwMDAKdDIgICAg ICAgICAgICAgICAgICAgMAp0MyAgICAgICAgICAgICAgICAgICAwCnQ0ICAgICAgICAgIDB4 ZmZmZmZmZmY4MDQ3MDhlOAp0NSAgICAgICAgICAweGZmZmZmZmZmODA0NzA4ZjAKdDYgICAg ICAgICAgMHhmZmZmZmZmZjgwNDcwODQwCnQ3ICAgICAgICAgIDB4ZmZmZmZmZmY4MDQ3MDg0 NApzMCAgICAgICAgICAweGZmZmZmZmZmODA0NzBiNDAKczEgICAgICAgICAgICAweDRlYjAw MApzMiAgICAgICAgICAgICAgICAgICAwCnMzICAgICAgICAgICAgICAgICAweDIKczQgICAg ICAgICAgICAgICAgICAgMAotLU1vcmUtLSAgICAgICAgczUgICAgICAgICAgMHhmZmZmZmZm ZjgwNDRmYTU4Ci0tTW9yZS0tICAgICAgICBzNiAgICAgICAgICAweGZmZmZmZmZmODA0NzA5 MDAKczcgICAgICAgICAgICAgICAgICAgMAp0OCAgICAgICAgICAgICAgICAgICAwCnQ5ICAg ICAgICAgICAgICAgICAgIDAKazAgICAgICAgICAgICAgICAgICAgMAprMSAgICAgICAgICAg ICAgICAgICAwCmdwICAgICAgICAgIDB4ZmZmZmZmZmY4MDQ0MDg0MApzcCAgICAgICAgICAw eGZmZmZmZmZmODA0NzA3YjAKczggICAgICAgICAgMHhmZmZmZmZmZmMwMDAyMDAwCnJhICAg ICAgICAgIDB4ZmZmZmZmZmY4MDM4ODA4OApzciAgICAgICAgICAweDIwMTAwMDAyCmxvICAg ICAgICAgICAgICAgIDB4NDgKaGkgICAgICAgICAgICAgICAgICAgMApiYWQgICAgICAgICAg ICAgICAweGNkCmNzICAgICAgICAgICAgICAweDhjMDgKcGMgICAgICAgICAgMHhmZmZmZmZm ZjgwMzg1YzY0CjB4ZmZmZmZmZmY4MDM4NWM2NDogICAgIGxidSAgICAgdjAsMjA1KGEwKQpk Yj4g --------------080906000803010207060400-- --------------enigD727110BCA27BDBB1AB618B8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iF4EAREKAAYFAkv9oEQACgkQNak7dOguQglDIwD/fdoZ/Q+v+4m/YjbLrjyQkXNJ cCi0mavXPiYAcd3NfkIBAJlcgz2Z/nvDM7pUQgSYyN1as/tXojiOPuw/qEs+hPqB =5mUf -----END PGP SIGNATURE----- --------------enigD727110BCA27BDBB1AB618B8-- From owner-freebsd-mips@FreeBSD.ORG Thu May 27 07:28:05 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B9A7106566B for ; Thu, 27 May 2010 07:28:05 +0000 (UTC) (envelope-from rpaulo@freebsd.org) Received: from karen.lavabit.com (karen.lavabit.com [72.249.41.33]) by mx1.freebsd.org (Postfix) with ESMTP id 2C9E68FC1B for ; Thu, 27 May 2010 07:28:04 +0000 (UTC) Received: from e.earth.lavabit.com (e.earth.lavabit.com [192.168.111.14]) by karen.lavabit.com (Postfix) with ESMTP id E108811B9F3; Thu, 27 May 2010 02:28:03 -0500 (CDT) Received: from 10.0.10.3 (54.81.54.77.rev.vodafone.pt [77.54.81.54]) by lavabit.com with ESMTP id FPEN6GWL97ID; Thu, 27 May 2010 02:28:03 -0500 Mime-Version: 1.0 (Apple Message framework v1078) Content-Type: text/plain; charset=utf-8 From: Rui Paulo In-Reply-To: <4BFDA036.7080502@gmail.com> Date: Thu, 27 May 2010 08:28:01 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4BFDA036.7080502@gmail.com> To: =?utf-8?Q?Vladimir_'=CF=86-coder/phcoder'_Serbinenko?= X-Mailer: Apple Mail (2.1078) Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 07:28:05 -0000 On 26 May 2010, at 23:27, Vladimir '=CF=86-coder/phcoder' Serbinenko = wrote: > This is a multi-part message in MIME format. > --------------080906000803010207060400 > Content-Type: text/plain; charset=3DUTF-8 > Content-Transfer-Encoding: quoted-printable >=20 > I've come accross this issue when coding for yeeloong. It's easy to = fix > (patch attached). After applying the patch I had the session with > debugger as in attached capture file. > Can this patch go directly to -current ? >=20 > --=3D20 > Regards > Vladimir '=3DCF=3D86-coder/phcoder' Serbinenko Can you please resend this ? I cannot read this patch nor the pcap file = correctly. Regards, -- Rui Paulo From owner-freebsd-mips@FreeBSD.ORG Thu May 27 12:20:07 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48046106566C for ; Thu, 27 May 2010 12:20:07 +0000 (UTC) (envelope-from rpaulo@freebsd.org) Received: from karen.lavabit.com (karen.lavabit.com [72.249.41.33]) by mx1.freebsd.org (Postfix) with ESMTP id 01F888FC23 for ; Thu, 27 May 2010 12:20:06 +0000 (UTC) Received: from e.earth.lavabit.com (e.earth.lavabit.com [192.168.111.14]) by karen.lavabit.com (Postfix) with ESMTP id 7121111B8DC; Thu, 27 May 2010 07:20:03 -0500 (CDT) Received: from 10.0.10.3 (54.81.54.77.rev.vodafone.pt [77.54.81.54]) by lavabit.com with ESMTP id VCQIEDBDQFYD; Thu, 27 May 2010 07:20:03 -0500 Mime-Version: 1.0 (Apple Message framework v1078) Content-Type: text/plain; charset=utf-8 From: Rui Paulo In-Reply-To: Date: Thu, 27 May 2010 13:20:00 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <03292828-B454-4429-86FF-742DF2E70354@FreeBSD.org> References: <4BFDA036.7080502@gmail.com> To: Rui Paulo X-Mailer: Apple Mail (2.1078) Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 12:20:07 -0000 On 27 May 2010, at 08:28, Rui Paulo wrote: >=20 > On 26 May 2010, at 23:27, Vladimir '=CF=86-coder/phcoder' Serbinenko = wrote: >=20 >> This is a multi-part message in MIME format. >> --------------080906000803010207060400 >> Content-Type: text/plain; charset=3DUTF-8 >> Content-Transfer-Encoding: quoted-printable >>=20 >> I've come accross this issue when coding for yeeloong. It's easy to = fix >> (patch attached). After applying the patch I had the session with >> debugger as in attached capture file. >> Can this patch go directly to -current ? >>=20 >> --=3D20 >> Regards >> Vladimir '=3DCF=3D86-coder/phcoder' Serbinenko >=20 > Can you please resend this ? I cannot read this patch nor the pcap = file correctly. Oops, too less coffee. I meant the 'cap' file. Regards, -- Rui Paulo From owner-freebsd-mips@FreeBSD.ORG Thu May 27 13:25:11 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 091A1106564A for ; Thu, 27 May 2010 13:25:11 +0000 (UTC) (envelope-from phcoder@gmail.com) Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 7C7658FC08 for ; Thu, 27 May 2010 13:25:09 +0000 (UTC) Received: by bwz2 with SMTP id 2so1808259bwz.13 for ; Thu, 27 May 2010 06:25:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type; bh=43p5Januq10caJCJ++Z+C61YSycmkWP6JdfpHqz9Qko=; b=TiiiMfKbvgjMD+VI/s/JcqFWEw+bRJBc+i1yhoo5C3AiMKcsIQk35YehKWT88411Q9 7XYIy0I76jljmBElBYAVtfrJUrl+Cxm4AHMNhgCtlBxToilP+tJfAomLZoKhEXqsF6+R kPCpvIpeEnzlSB00q8wKJRTjZPMADu4nnl1Y4= 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:x-enigmail-version:content-type; b=grsHJkGbLIHW1W00jhVG+CF1oFQPSOmzu7YTx3a6kMV7pHLeuNBlUcbNO69mFJHpHk XljSC1Cqy8WzMQg3lKiLb2V9JdekTOL9LnpwZ5AL8rbIZgRf61PFH5+mY3PUzElc1Gtv wRgK32AE0uyBBlJbCTw1U4JReNSXx+nUo5G5A= Received: by 10.204.175.79 with SMTP id w15mr4957199bkz.108.1274966709013; Thu, 27 May 2010 06:25:09 -0700 (PDT) Received: from debian.bg45.phnet (hg-public-dock-109-dhcp.ethz.ch [82.130.80.109]) by mx.google.com with ESMTPS id h29sm5423619bkf.18.2010.05.27.06.25.06 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 27 May 2010 06:25:07 -0700 (PDT) Message-ID: <4BFE72B2.1030107@gmail.com> Date: Thu, 27 May 2010 15:25:06 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) MIME-Version: 1.0 To: Rui Paulo References: <4BFDA036.7080502@gmail.com> In-Reply-To: X-Enigmail-Version: 0.95.0 Content-Type: multipart/mixed; boundary="------------010909080908060507000402" X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 13:25:11 -0000 This is a multi-part message in MIME format. --------------010909080908060507000402 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rui Paulo wrote: > On 26 May 2010, at 23:27, Vladimir 'φ-coder/phcoder' Serbinenko wrote: > > >> This is a multi-part message in MIME format. >> --------------080906000803010207060400 >> Content-Type: text/plain; charset=UTF-8 >> Content-Transfer-Encoding: quoted-printable >> >> I've come accross this issue when coding for yeeloong. It's easy to fix >> (patch attached). After applying the patch I had the session with >> debugger as in attached capture file. >> Can this patch go directly to -current ? >> >> --=20 >> Regards >> Vladimir '=CF=86-coder/phcoder' Serbinenko >> > > Can you please resend this ? I cannot read this patch nor the pcap file correctly. > > Some kind of problem with signatures. I'll bug-report it, using beta sometimes backfires. The original patch had a mistake (always using 64-bit kseg0 address) I fixed in this one. New cap file attached. Can some test it on 32-bit mips? > Regards, > -- > Rui Paulo > > > > -- Regards Vladimir 'φ-coder/phcoder' Serbinenko --------------010909080908060507000402-- From owner-freebsd-mips@FreeBSD.ORG Thu May 27 14:26:27 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D04A610656D4 for ; Thu, 27 May 2010 14:26:27 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-pz0-f183.google.com (mail-pz0-f183.google.com [209.85.222.183]) by mx1.freebsd.org (Postfix) with ESMTP id A50428FC0C for ; Thu, 27 May 2010 14:26:27 +0000 (UTC) Received: by pzk13 with SMTP id 13so25806pzk.13 for ; Thu, 27 May 2010 07:26:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=KgSDNeMtMRfshIOUXFplN+VnkpLBY2XMFh3yw8r05j0=; b=gE8rU4sPHVJWMO6ayT3LTS8EhKVDlCd05l1MQ5BTSQTvZHZTBogzaQTfr6UkwsTN37 Lc51lpyrIpO9UTfQe2P9xSs7JX3rRif5U+tIU3w5cc08SXKLadzES1kNZG6jkLoi/Ubh ufL8ERD14Rf8IDFLgHybH/e5vk4fIQjkP0rI0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=fsoKVL9ycuWZDE+4+4Ve+tx2IlkV7ZafgkpwoOeO8Ifi6+rStHapV3tGdAXSbhuELx stZk327807womMGRc3MVMt0l3tgbNXFwRxYqHIGh3ymRtsOV5ZeIGlWDamHTD5b+utVs 3erbE0genV+3iaJBHXkzCVgFJWU2fmDKe1BfM= MIME-Version: 1.0 Received: by 10.140.248.10 with SMTP id v10mr7953230rvh.245.1274970387149; Thu, 27 May 2010 07:26:27 -0700 (PDT) Received: by 10.141.32.4 with HTTP; Thu, 27 May 2010 07:26:26 -0700 (PDT) Date: Thu, 27 May 2010 19:56:26 +0530 Message-ID: From: "C. Jayachandran" To: Randall Stewart , Neel Natu , freebsd-mips@freebsd.org Content-Type: multipart/mixed; boundary=000e0cd0ed460673a50487942d73 Cc: Subject: Few more fixes to the new pagetable page allocation code. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 14:26:27 -0000 --000e0cd0ed460673a50487942d73 Content-Type: text/plain; charset=ISO-8859-1 The attached changes (http://people.freebsd.org/~jchandra/for-review/pmap-free-pte-page.diff) finally seems to get rid of the occasional hangs I saw during testing. The first part fixes a lock order reversal (in pmap_remove_pages...pmap_release_pte_page...uma_zfree_arg...kmem_malloc). The pmap and pagequeue locks have to be released before calling uma_zfree(). The second part takes the the pagequeue lock before changing the page fields of the pte page, I'm not sure this is necessary. Please let me know you comments. With these changes, I can get 'make -j128 buildworld' consistently work on a 32 cpu setup. Thanks, JC. --000e0cd0ed460673a50487942d73 Content-Type: text/x-patch; charset=US-ASCII; name="pmap-free-pte-page.diff" Content-Disposition: attachment; filename="pmap-free-pte-page.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9po8fau0 SW5kZXg6IHN5cy9taXBzL21pcHMvcG1hcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMv cG1hcC5jCShyZXZpc2lvbiAyMDg1ODkpCisrKyBzeXMvbWlwcy9taXBzL3BtYXAuYwkod29ya2lu ZyBjb3B5KQpAQCAtODg2LDggKzg4NiwxMiBAQAogCS8qCiAJICogSWYgdGhlIHBhZ2UgaXMgZmlu YWxseSB1bndpcmVkLCBzaW1wbHkgZnJlZSBpdC4KIAkgKi8KKwlhdG9taWNfc3VidHJhY3RfaW50 KCZjbnQudl93aXJlX2NvdW50LCAxKTsKKwlQTUFQX1VOTE9DSyhwbWFwKTsKKwl2bV9wYWdlX3Vu bG9ja19xdWV1ZXMoKTsKIAlwbWFwX3JlbGVhc2VfcHRlX3BhZ2UobSk7Ci0JYXRvbWljX3N1YnRy YWN0X2ludCgmY250LnZfd2lyZV9jb3VudCwgMSk7CisJdm1fcGFnZV9sb2NrX3F1ZXVlcygpOwor CVBNQVBfTE9DSyhwbWFwKTsKIAlyZXR1cm4gKDEpOwogfQogCkBAIC0xMDA4LDkgKzEwMTIsMTQg QEAKIAlwYWRkciA9IE1JUFNfS1NFRzBfVE9fUEhZUyh2YSk7CiAJbSA9IFBIWVNfVE9fVk1fUEFH RShwYWRkcik7CiAJCisJaWYgKCFsb2NrZWQpCisJCXZtX3BhZ2VfbG9ja19xdWV1ZXMoKTsKIAlt LT5waW5kZXggPSBpbmRleDsKIAltLT52YWxpZCA9IFZNX1BBR0VfQklUU19BTEw7CiAJbS0+d2ly ZV9jb3VudCA9IDE7CisJaWYgKCFsb2NrZWQpCisJCXZtX3BhZ2VfdW5sb2NrX3F1ZXVlcygpOwor CiAJYXRvbWljX2FkZF9pbnQoJmNudC52X3dpcmVfY291bnQsIDEpOwogCSp2YXAgPSAodm1fb2Zm c2V0X3QpdmE7CiAJcmV0dXJuIChtKTsK --000e0cd0ed460673a50487942d73-- From owner-freebsd-mips@FreeBSD.ORG Thu May 27 16:12:13 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 803ED1065673 for ; Thu, 27 May 2010 16:12:13 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 19B818FC0A for ; Thu, 27 May 2010 16:12:12 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o4RG3A69057535; Thu, 27 May 2010 10:03:10 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 27 May 2010 10:03:14 -0600 (MDT) Message-Id: <20100527.100314.539398516089941831.imp@bsdimp.com> To: phcoder@gmail.com From: "M. Warner Losh" In-Reply-To: <4BFDA036.7080502@gmail.com> References: <4BFDA036.7080502@gmail.com> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=utf-8 Content-Transfer-Encoding: base64 Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 16:12:13 -0000 SW4gbWVzc2FnZTogPDRCRkRBMDM2LjcwODA1MDJAZ21haWwuY29tPg0KICAgICAgICAgICAgVmxh ZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28gPHBoY29kZXJAZ21haWwuY29tPiB3 cml0ZXM6DQo6IFRoaXMgaXMgYSBtdWx0aS1wYXJ0IG1lc3NhZ2UgaW4gTUlNRSBmb3JtYXQuDQo6 IC0tLS0tLS0tLS0tLS0tMDgwOTA2MDAwODAzMDEwMjA3MDYwNDAwDQo6IENvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOA0KOiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBx dW90ZWQtcHJpbnRhYmxlDQo6IA0KOiBJJ3ZlIGNvbWUgYWNjcm9zcyB0aGlzIGlzc3VlIHdoZW4g Y29kaW5nIGZvciB5ZWVsb29uZy4gSXQncyBlYXN5IHRvIGZpeA0KOiAocGF0Y2ggYXR0YWNoZWQp LiBBZnRlciBhcHBseWluZyB0aGUgcGF0Y2ggSSBoYWQgdGhlIHNlc3Npb24gd2l0aA0KOiBkZWJ1 Z2dlciBhcyBpbiBhdHRhY2hlZCBjYXB0dXJlIGZpbGUuDQo6IENhbiB0aGlzIHBhdGNoIGdvIGRp cmVjdGx5IHRvIC1jdXJyZW50ID8NCjogDQo6IC0tPTIwDQo6IFJlZ2FyZHMNCjogVmxhZGltaXIg Jz1DRj04Ni1jb2Rlci9waGNvZGVyJyBTZXJiaW5lbmtvDQo6IA0KOiANCjogLS0tLS0tLS0tLS0t LS0wODA5MDYwMDA4MDMwMTAyMDcwNjA0MDANCjogQ29udGVudC1UeXBlOiB0ZXh0L3gtZGlmZjsN CjogIG5hbWU9Im1pcHM2NF9idC5kaWZmIg0KOiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBx dW90ZWQtcHJpbnRhYmxlDQo6IENvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsNCjogIGZpbGVu YW1lPSJtaXBzNjRfYnQuZGlmZiINCjogDQo6ID0zRD0zRD0zRCBtb2RpZmllZCBmaWxlICdtaXBz L21pcHMvZGJfdHJhY2UuYycNCjogLS0tIG1pcHMvbWlwcy9kYl90cmFjZS5jCTIwMTAtMDUtMjYg MDc6NDc6MTYgKzAwMDANCjogKysrIG1pcHMvbWlwcy9kYl90cmFjZS5jCTIwMTAtMDUtMjYgMjI6 MTk6MDYgKzAwMDANCjogQEAgLTQ5LDkgKzQ5LDE5IEBADQo6ICAjZGVmaW5lCU1JUFNfRU5EX09G X0ZVTkNUSU9OKGlucykJKChpbnMpID0zRD0zRCAweDAzZTAwMDA4KQ0KOiA9MjANCjogIC8qDQo6 IC0gKiBrZGJwZWVrRChhZGRyKSAtIHNraXAgb25lIHdvcmQgc3RhcnRpbmcgYXQgJ2FkZHInLCB0 aGVuIHJlYWQgdGhlIHNlY289DQo6IG5kIHdvcmQNCjogKyAqIGtkYnBlZWtEKGFkZHIpIC0gcmVh ZCBkb3VibGUgd29yZC4NCjogICAqLw0KOiAtI2RlZmluZQlrZGJwZWVrRChhZGRyKQlrZGJwZWVr KCgoaW50ICopKGFkZHIpKSArIDEpDQo6ICsNCjogK3N0YXRpYyBpbmxpbmUgcmVnaXN0ZXJfdA0K OiAra2RicGVla0QgKHVpbnRwdHJfdCBhZGRyKSB7DQo6ICsjaWZkZWYgX19NSVBTRUxfXw0KOiAr CXJldHVybiAoKHJlZ2lzdGVyX3QpIGtkYnBlZWsgKChpbnQgKikgYWRkcikpDQo6ICsJCXwgKCgo cmVnaXN0ZXJfdCkga2RicGVlayAoKGludCAqKSBhZGRyICsgMSkpIDw8IDMyKTsNCjogKyNlbHNl DQo6ICsJcmV0dXJuICgocmVnaXN0ZXJfdCkga2RicGVlayAoKGludCAqKSBhZGRyICsgMSkpDQo6 ICsJCXwgKCgocmVnaXN0ZXJfdCkga2RicGVlayAoKGludCAqKSBhZGRyKSkgPDwgMzIpOw0KOiAr I2VuZGlmDQoNClRoaXMgc2VlbXMgd3JvbmcuICBXaGF0J3Mgd3Jvbmcgd2l0aCByZWFkaW5nIHRo ZSA2NC1iaXQgcXVhbnRpdHkNCmRpcmVjdGx5Pw0KDQo6ICt9DQo6ID0yMA0KOiAgLyoNCjogICAq IEZ1bmN0aW9ucyBgYHNwZWNpYWwnJyBlbm91Z2ggdG8gcHJpbnQgYnkgbmFtZQ0KOiBAQCAtMTQw LDcgKzE1MCw3IEBADQo6ICAJfQ0KOiAgCS8qIGNoZWNrIGZvciBiYWQgU1A6IGNvdWxkIGZvdWwg dXAgbmV4dCBmcmFtZSAqLw0KOiAgCS8qWFhYIE1JUFM2NCBiYWQ6IHRoaXMgaGFyZC1jb2RlZCBT UCBpcyBsYW1lICovDQo6IC0JaWYgKHNwICYgMyB8fCBzcCA8IDB4ODAwMDAwMDApIHsNCjogKwlp ZiAoc3AgJiAzIHx8ICh1aW50cHRyX3QpIHNwIDwgMHhmZmZmZmZmZjgwMDAwMDAwVUxMKSB7DQoN ClRoaXMgaXMgd3JvbmcuICBzcCBzaG91bGQgYmUgY2FzdCB0byBpbnRwdHJfdCB0byBoYXZlIGl0 IHN0aWxsIHdvcmsNCndpdGggMzItYml0IGRlYnVnZ2luZy4gIFVuc2lnbmVkIHNwIHdpbGwgYmUg MHg4MDAwMDAwMCwgd2hpY2ggd2lsbA0KdHJpZ2dlciB0aGlzIGNhc2UuDQoNCjogIAkJKCpwcmlu dGZuKSAoIlNQIDB4JXg6IG5vdCBpbiBrZXJuZWxcbiIsIHNwKTsNCjogIAkJcmEgPTNEIDA7DQo6 ICAJCXN1YnIgPTNEIDA7DQo6IEBAIC0xODEsNyArMTkxLDcgQEANCjogIAl9DQo6ICAJLyogY2hl Y2sgZm9yIGJhZCBQQyAqLw0KOiAgCS8qWFhYIE1JUFM2NCBiYWQ6IFRoZXNlIGhhcmQgY29kZWQg Y29uc3RhbnRzIGFyZSBsYW1lICovDQo6IC0JaWYgKHBjICYgMyB8fCBwYyA8ICh1aW50cHRyX3Qp MHg4MDAwMDAwMCkgew0KOiArCWlmIChwYyAmIDMgfHwgKHVpbnRwdHJfdClwYyA8IDB4ZmZmZmZm ZmY4MDAwMDAwMFVMTCkgew0KDQpEaXR0by4NCg0KOiAgCQkoKnByaW50Zm4pICgiUEMgMHgleDog bm90IGluIGtlcm5lbFxuIiwgcGMpOw0KOiAgCQlyYSA9M0QgMDsNCjogIAkJZ290byBkb25lOw0K OiBAQCAtMzAzLDMyICszMTMsMzQgQEANCjogIAkJCW1hc2sgfD0zRCAoMSA8PCBpLklUeXBlLnJ0 KTsNCjogIAkJCXN3aXRjaCAoaS5JVHlwZS5ydCkgew0KOiAgCQkJY2FzZSA0Oi8qIGEwICovDQo6 IC0JCQkJYXJnc1swXSA9M0Qga2RicGVla0QoKGludCAqKShzcCArIChzaG9ydClpLklUeXBlLmlt bSkpOw0KOiArCQkJCWFyZ3NbMF0gPTNEIGtkYnBlZWtEKHNwICsgKHNob3J0KWkuSVR5cGUuaW1t KTsNCg0KVGhpcyBsaWtlbHkgaXMgT0suDQoNCjogIAkJCQl2YWxpZF9hcmdzWzBdID0zRCAxOw0K OiAgCQkJCWJyZWFrOw0KOiA9MjANCjogIAkJCWNhc2UgNTovKiBhMSAqLw0KOiAtCQkJCWFyZ3Nb MV0gPTNEIGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsNCjogKwkJ CQlhcmdzWzFdID0zRCBrZGJwZWVrRChzcCArIChzaG9ydClpLklUeXBlLmltbSk7DQo6ICAJCQkJ dmFsaWRfYXJnc1sxXSA9M0QgMTsNCjogIAkJCQlicmVhazsNCjogPTIwDQo6ICAJCQljYXNlIDY6 LyogYTIgKi8NCjogLQkJCQlhcmdzWzJdID0zRCBrZGJwZWVrRCgoaW50ICopKHNwICsgKHNob3J0 KWkuSVR5cGUuaW1tKSk7DQo6ICsJCQkJYXJnc1syXSA9M0Qga2RicGVla0Qoc3AgKyAoc2hvcnQp aS5JVHlwZS5pbW0pOw0KOiAgCQkJCXZhbGlkX2FyZ3NbMl0gPTNEIDE7DQo6ICAJCQkJYnJlYWs7 DQo6ID0yMA0KOiAgCQkJY2FzZSA3Oi8qIGEzICovDQo6IC0JCQkJYXJnc1szXSA9M0Qga2RicGVl a0QoKGludCAqKShzcCArIChzaG9ydClpLklUeXBlLmltbSkpOw0KOiArCQkJCWFyZ3NbM10gPTNE IGtkYnBlZWtEKHNwICsgKHNob3J0KWkuSVR5cGUuaW1tKTsNCjogIAkJCQl2YWxpZF9hcmdzWzNd ID0zRCAxOw0KOiAgCQkJCWJyZWFrOw0KOiA9MjANCjogIAkJCWNhc2UgMzE6CS8qIHJhICovDQo6 IC0JCQkJcmEgPTNEIGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsN CjogKwkJCQlyYSA9M0Qga2RicGVla0Qoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pOw0KOiAgCQkJ fQ0KOiAgCQkJYnJlYWs7DQo6ID0yMA0KOiAgCQljYXNlIE9QX0FEREk6DQo6ICAJCWNhc2UgT1Bf QURESVU6DQo6ICsJCWNhc2UgT1BfREFERElVOg0KOiArCQljYXNlIE9QX0RBRERJOg0KOiAgCQkJ LyogbG9vayBmb3Igc3RhY2sgcG9pbnRlciBhZGp1c3RtZW50ICovDQo6ICAJCQlpZiAoaS5JVHlw ZS5ycyAhPTNEIDI5IHx8IGkuSVR5cGUucnQgIT0zRCAyOSkNCjogIAkJCQlicmVhazsNCjogQEAg LTMzNywxNyArMzQ5LDE4IEBADQo6ICAJfQ0KOiA9MjANCjogIGRvbmU6DQo6IC0JKCpwcmludGZu KSAoIiVzKyV4ICgiLCBmbl9uYW1lKHN1YnIpLCBwYyAtIHN1YnIpOw0KOiArCSgqcHJpbnRmbikg KCIlcyslbHggKCIsIGZuX25hbWUoc3ViciksICh1bnNpZ25lZCBsb25nKSAocGMgLSBzdWJyKSk7 DQo6ICAJZm9yIChqID0zRCAwOyBqIDwgNDsgaiArKykgew0KOiAgCQlpZiAoaiA+IDApDQo6ICAJ CQkoKnByaW50Zm4pKCIsIik7DQo6ICAJCWlmICh2YWxpZF9hcmdzW2pdKQ0KOiAtCQkJKCpwcmlu dGZuKSgiJXgiLCBhcmdzW2pdKTsNCjogKwkJCSgqcHJpbnRmbikoIiVseCIsICh1bnNpZ25lZCBs b25nKSBhcmdzW2pdKTsNCg0KVGhlc2UgY2FzdHMgYXJlbid0IHJpZ2h0LiAgV2Ugc2hvdWxkIGxp a2VseSBiZSB1c2luZyBpbnRtYXhfdCBoZXJlIGFuZA0KJWouDQoNCjogIAkJZWxzZQ0KOiAgCQkJ KCpwcmludGZuKSgiPyIpOw0KOiAgCX0NCjogPTIwDQo6IC0JKCpwcmludGZuKSAoIikgcmEgJXgg c3AgJXggc3ogJWRcbiIsIHJhLCBzcCwgc3Rrc2l6ZSk7DQo6ICsJKCpwcmludGZuKSAoIikgcmEg JWx4IHNwICVseCBzeiAlbGRcbiIsICh1bnNpZ25lZCBsb25nKSByYSwNCjogKwkJICAgICh1bnNp Z25lZCBsb25nKSBzcCwgKGxvbmcpIHN0a3NpemUpOw0KOiA9MjANCg0KVGhlc2UgY2FzdHMgYXJl bid0IHJpZ2h0LiAgV2Ugc2hvdWxkIGxpa2VseSBiZSB1c2luZyBpbnRtYXhfdCBoZXJlIGFuZA0K JWouDQoNCjogIAlpZiAocmEpIHsNCjogIAkJaWYgKHBjID0zRD0zRCByYSAmJiBzdGtzaXplID0z RD0zRCAwKQ0KOiANCg== From owner-freebsd-mips@FreeBSD.ORG Thu May 27 16:12:16 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32D3F1065673; Thu, 27 May 2010 16:12:16 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id D93C18FC1B; Thu, 27 May 2010 16:12:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o4RG433w057554; Thu, 27 May 2010 10:04:03 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 27 May 2010 10:04:07 -0600 (MDT) Message-Id: <20100527.100407.784267736074446108.imp@bsdimp.com> To: phcoder@gmail.com From: "M. Warner Losh" In-Reply-To: <4BFE72B2.1030107@gmail.com> References: <4BFDA036.7080502@gmail.com> <4BFE72B2.1030107@gmail.com> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=utf-8 Content-Transfer-Encoding: base64 Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 16:12:16 -0000 SW4gbWVzc2FnZTogPDRCRkU3MkIyLjEwMzAxMDdAZ21haWwuY29tPg0KICAgICAgICAgICAgVmxh ZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28gPHBoY29kZXJAZ21haWwuY29tPiB3 cml0ZXM6DQo6IFJ1aSBQYXVsbyB3cm90ZToNCjogPiBPbiAyNiBNYXkgMjAxMCwgYXQgMjM6Mjcs IFZsYWRpbWlyICfPhi1jb2Rlci9waGNvZGVyJyBTZXJiaW5lbmtvIHdyb3RlOg0KOiA+DQo6ID4g ICANCjogPj4gVGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4NCjog Pj4gLS0tLS0tLS0tLS0tLS0wODA5MDYwMDA4MDMwMTAyMDcwNjA0MDANCjogPj4gQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04DQo6ID4+IENvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IHF1b3RlZC1wcmludGFibGUNCjogPj4NCjogPj4gSSd2ZSBjb21lIGFjY3Jvc3MgdGhp cyBpc3N1ZSB3aGVuIGNvZGluZyBmb3IgeWVlbG9vbmcuIEl0J3MgZWFzeSB0byBmaXgNCjogPj4g KHBhdGNoIGF0dGFjaGVkKS4gQWZ0ZXIgYXBwbHlpbmcgdGhlIHBhdGNoIEkgaGFkIHRoZSBzZXNz aW9uIHdpdGgNCjogPj4gZGVidWdnZXIgYXMgaW4gYXR0YWNoZWQgY2FwdHVyZSBmaWxlLg0KOiA+ PiBDYW4gdGhpcyBwYXRjaCBnbyBkaXJlY3RseSB0byAtY3VycmVudCA/DQo6ID4+DQo6ID4+IC0t PTIwDQo6ID4+IFJlZ2FyZHMNCjogPj4gVmxhZGltaXIgJz1DRj04Ni1jb2Rlci9waGNvZGVyJyBT ZXJiaW5lbmtvDQo6ID4+ICAgICANCjogPg0KOiA+IENhbiB5b3UgcGxlYXNlIHJlc2VuZCB0aGlz ID8gSSBjYW5ub3QgcmVhZCB0aGlzIHBhdGNoIG5vciB0aGUgcGNhcCBmaWxlIGNvcnJlY3RseS4N CjogPg0KOiA+ICAgDQo6IFNvbWUga2luZCBvZiBwcm9ibGVtIHdpdGggc2lnbmF0dXJlcy4gSSds bCBidWctcmVwb3J0IGl0LCB1c2luZyBiZXRhDQo6IHNvbWV0aW1lcyBiYWNrZmlyZXMuDQo6IFRo ZSBvcmlnaW5hbCBwYXRjaCBoYWQgYSBtaXN0YWtlIChhbHdheXMgdXNpbmcgNjQtYml0IGtzZWcw IGFkZHJlc3MpIEkNCjogZml4ZWQgaW4gdGhpcyBvbmUuIE5ldyBjYXAgZmlsZSBhdHRhY2hlZC4g Q2FuIHNvbWUgdGVzdCBpdCBvbiAzMi1iaXQgbWlwcz8NCg0KdGhlcmUncyBubyBjYXAgZmlsZSBh dHRhY2hlZCB0byB0aGlzIG1haWwuDQoNCldhcm5lcg0K From owner-freebsd-mips@FreeBSD.ORG Thu May 27 18:35:10 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1382E106566B for ; Thu, 27 May 2010 18:35:10 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id C4F6D8FC1E for ; Thu, 27 May 2010 18:35:09 +0000 (UTC) Received: by vws12 with SMTP id 12so330003vws.13 for ; Thu, 27 May 2010 11:35:08 -0700 (PDT) Received: by 10.220.122.86 with SMTP id k22mr7885535vcr.25.1274985308589; Thu, 27 May 2010 11:35:08 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.220.199.70 with HTTP; Thu, 27 May 2010 11:34:48 -0700 (PDT) In-Reply-To: <20100527.100314.539398516089941831.imp@bsdimp.com> References: <4BFDA036.7080502@gmail.com> <20100527.100314.539398516089941831.imp@bsdimp.com> From: Juli Mallett Date: Thu, 27 May 2010 11:34:48 -0700 X-Google-Sender-Auth: Cn_wazYB3Gdv1Vh_g3zcAHxUOWA Message-ID: To: "M. Warner Losh" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 18:35:10 -0000 On Thu, May 27, 2010 at 09:03, M. Warner Losh wrote: > : @@ -140,7 +150,7 @@ > : =A0 =A0 =A0 } > : =A0 =A0 =A0 /* check for bad SP: could foul up next frame */ > : =A0 =A0 =A0 /*XXX MIPS64 bad: this hard-coded SP is lame */ > : - =A0 =A0 if (sp & 3 || sp < 0x80000000) { > : + =A0 =A0 if (sp & 3 || (uintptr_t) sp < 0xffffffff80000000ULL) { > > This is wrong. =A0sp should be cast to intptr_t to have it still work > with 32-bit debugging. =A0Unsigned sp will be 0x80000000, which will > trigger this case. Actually, it's worse than that. As far as unsigned quantities go, XKPHYS and XKSEG addresses are less than CKSEG0 addresses, so if your thread is using an at all 64-bit aware kernel, you're going to have trouble here. The right thing to do is to check for whether the high bit is set. Checking whether (intptr_t)sp is negative is probably the closest thing to a universal solution you're going to want. > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 (*printfn) ("SP 0x%x: not in kernel\n", sp)= ; > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 ra =3D3D 0; > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 subr =3D3D 0; > : @@ -181,7 +191,7 @@ > : =A0 =A0 =A0 } > : =A0 =A0 =A0 /* check for bad PC */ > : =A0 =A0 =A0 /*XXX MIPS64 bad: These hard coded constants are lame */ > : - =A0 =A0 if (pc & 3 || pc < (uintptr_t)0x80000000) { > : + =A0 =A0 if (pc & 3 || (uintptr_t)pc < 0xffffffff80000000ULL) { > > Ditto. Likewise. > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 (*printfn) ("PC 0x%x: not in kernel\n", pc)= ; > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 ra =3D3D 0; > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto done; > : @@ -337,17 +349,18 @@ > : =A0 =A0 =A0 } > : =3D20 > : =A0done: > : - =A0 =A0 (*printfn) ("%s+%x (", fn_name(subr), pc - subr); > : + =A0 =A0 (*printfn) ("%s+%lx (", fn_name(subr), (unsigned long) (pc - = subr)); > : =A0 =A0 =A0 for (j =3D3D 0; j < 4; j ++) { > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (j > 0) > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (*printfn)(","); > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (valid_args[j]) > : - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (*printfn)("%x", args[j]); > : + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (*printfn)("%lx", (unsigned l= ong) args[j]); > > These casts aren't right. =A0We should likely be using intmax_t here and > %j. Yep. > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 else > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (*printfn)("?"); > : =A0 =A0 =A0 } > : =3D20 > : - =A0 =A0 (*printfn) (") ra %x sp %x sz %d\n", ra, sp, stksize); > : + =A0 =A0 (*printfn) (") ra %lx sp %lx sz %ld\n", (unsigned long) ra, > : + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (unsigned long) sp, (long) stksize); > : =3D20 > > These casts aren't right. =A0We should likely be using intmax_t here and > %j. I agree once again :) > : =A0 =A0 =A0 if (ra) { > : =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (pc =3D3D=3D3D ra && stksize =3D3D=3D3D = 0) > : Juli. From owner-freebsd-mips@FreeBSD.ORG Thu May 27 18:54:37 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A26F2106567A; Thu, 27 May 2010 18:54:37 +0000 (UTC) (envelope-from phcoder@gmail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id 039698FC14; Thu, 27 May 2010 18:54:36 +0000 (UTC) Received: by fxm20 with SMTP id 20so376403fxm.13 for ; Thu, 27 May 2010 11:54:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=q+EQxjUoLInS5CA6Ay0noTZ0WTeexO+rF5xu7RWoRt4=; b=i1uwCk9/a1ij8aA7GsdVp39tX/stu2/MUyHL0eH+oaB0ZcycQFkO8XbsERg3xqiCvn RQINqHveTYnCsJ8OwARABv1pV/3WanJVXfy8CWnnEST3y/fK59SBLLcAP7fJ7OHfS6r3 i6K308GiVStnv4/dpZjKc591O+15InTtSYJJU= 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:x-enigmail-version:content-type :content-transfer-encoding; b=wFGtO3wYbV9tTgFE85F+8a6Y9a5ePCw5F3rjbospzcjc+LG62m+QME7piJcgyJIZsk yvQb/5qM3eegdZJKPYQdHhCPpbQUYrI8ODdf+wZuX+W8KK+RYnhLXcjtUwuyHKzH3XDo WEbWMIoUJCv6L8ep4eH4EEch/+4h4cjbzyduw= Received: by 10.204.3.147 with SMTP id 19mr4151752bkn.42.1274986475847; Thu, 27 May 2010 11:54:35 -0700 (PDT) Received: from debian.bg45.phnet (gprs11.swisscom-mobile.ch [193.247.250.11]) by mx.google.com with ESMTPS id d5sm6626899bkd.7.2010.05.27.11.54.32 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 27 May 2010 11:54:34 -0700 (PDT) Message-ID: <4BFEBFE6.5000107@gmail.com> Date: Thu, 27 May 2010 20:54:30 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) MIME-Version: 1.0 To: "M. Warner Losh" References: <4BFDA036.7080502@gmail.com> <4BFE72B2.1030107@gmail.com> <20100527.100407.784267736074446108.imp@bsdimp.com> In-Reply-To: <20100527.100407.784267736074446108.imp@bsdimp.com> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 18:54:37 -0000 M. Warner Losh wrote: > In message: <4BFE72B2.1030107@gmail.com> > Vladimir 'φ-coder/phcoder' Serbinenko writes: > : Rui Paulo wrote: > : > On 26 May 2010, at 23:27, Vladimir 'φ-coder/phcoder' Serbinenko wrote: > : > > : > > : >> This is a multi-part message in MIME format. > : >> --------------080906000803010207060400 > : >> Content-Type: text/plain; charset=UTF-8 > : >> Content-Transfer-Encoding: quoted-printable > : >> > : >> I've come accross this issue when coding for yeeloong. It's easy to fix > : >> (patch attached). After applying the patch I had the session with > : >> debugger as in attached capture file. > : >> Can this patch go directly to -current ? > : >> > : >> --=20 > : >> Regards > : >> Vladimir '=CF=86-coder/phcoder' Serbinenko > : >> > : > > : > Can you please resend this ? I cannot read this patch nor the pcap file correctly. > : > > : > > : Some kind of problem with signatures. I'll bug-report it, using beta > : sometimes backfires. > : The original patch had a mistake (always using 64-bit kseg0 address) I > : fixed in this one. New cap file attached. Can some test it on 32-bit mips? > > there's no cap file attached to this mail. > > Are MIME attachments allowed? In outgoing copy I have those file attacghed. So posting inline this time. === modified file 'mips/mips/db_trace.c' --- mips/mips/db_trace.c 2010-05-26 07:47:16 +0000 +++ mips/mips/db_trace.c 2010-05-27 12:14:36 +0000 @@ -49,9 +49,19 @@ #define MIPS_END_OF_FUNCTION(ins) ((ins) == 0x03e00008) /* - * kdbpeekD(addr) - skip one word starting at 'addr', then read the second word + * kdbpeekD(addr) - read double word. */ -#define kdbpeekD(addr) kdbpeek(((int *)(addr)) + 1) + +static inline register_t +kdbpeekD (uintptr_t addr) { +#ifdef __MIPSEL__ + return ((register_t) kdbpeek ((int *) addr)) + | (((register_t) kdbpeek ((int *) addr + 1)) << 32); +#else + return ((register_t) kdbpeek ((int *) addr + 1)) + | (((register_t) kdbpeek ((int *) addr)) << 32); +#endif +} /* * Functions ``special'' enough to print by name @@ -119,6 +129,8 @@ unsigned instr, mask; unsigned int frames = 0; int more, stksize, j; + const uintptr_t kseg0_start = sizeof (uintptr_t) + ? 0xffffffff80000000ULL : 0x80000000; /* Jump here when done with a frame, to start a new one */ loop: @@ -140,7 +152,7 @@ } /* check for bad SP: could foul up next frame */ /*XXX MIPS64 bad: this hard-coded SP is lame */ - if (sp & 3 || sp < 0x80000000) { + if (sp & 3 || (uintptr_t) sp < kseg0_start) { (*printfn) ("SP 0x%x: not in kernel\n", sp); ra = 0; subr = 0; @@ -181,7 +193,7 @@ } /* check for bad PC */ /*XXX MIPS64 bad: These hard coded constants are lame */ - if (pc & 3 || pc < (uintptr_t)0x80000000) { + if (pc & 3 || (uintptr_t)pc < kseg0_start) { (*printfn) ("PC 0x%x: not in kernel\n", pc); ra = 0; goto done; @@ -303,32 +315,34 @@ mask |= (1 << i.IType.rt); switch (i.IType.rt) { case 4:/* a0 */ - args[0] = kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[0] = kdbpeekD(sp + (short)i.IType.imm); valid_args[0] = 1; break; case 5:/* a1 */ - args[1] = kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[1] = kdbpeekD(sp + (short)i.IType.imm); valid_args[1] = 1; break; case 6:/* a2 */ - args[2] = kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[2] = kdbpeekD(sp + (short)i.IType.imm); valid_args[2] = 1; break; case 7:/* a3 */ - args[3] = kdbpeekD((int *)(sp + (short)i.IType.imm)); + args[3] = kdbpeekD(sp + (short)i.IType.imm); valid_args[3] = 1; break; case 31: /* ra */ - ra = kdbpeekD((int *)(sp + (short)i.IType.imm)); + ra = kdbpeekD(sp + (short)i.IType.imm); } break; case OP_ADDI: case OP_ADDIU: + case OP_DADDIU: + case OP_DADDI: /* look for stack pointer adjustment */ if (i.IType.rs != 29 || i.IType.rt != 29) break; @@ -337,17 +351,18 @@ } done: - (*printfn) ("%s+%x (", fn_name(subr), pc - subr); + (*printfn) ("%s+%lx (", fn_name(subr), (unsigned long) (pc - subr)); for (j = 0; j < 4; j ++) { if (j > 0) (*printfn)(","); if (valid_args[j]) - (*printfn)("%x", args[j]); + (*printfn)("%lx", (unsigned long) args[j]); else (*printfn)("?"); } - (*printfn) (") ra %x sp %x sz %d\n", ra, sp, stksize); + (*printfn) (") ra %lx sp %lx sz %ld\n", (unsigned long) ra, + (unsigned long) sp, (long) stksize); if (ra) { if (pc == ra && stksize == 0) GRUB CS5536 at 00000200SMBus controller enabled. 00000080Caches enabled Welcome to GRUB! error: no device connected. error: no device connected. GNU GRUB version 1.98 Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions. grub> multiboot2 (usb0,msdos1)/kernel grub> boot entry: mips_init() Cache info: picache_stride = 0 picache_loopcount = 0 pdcache_stride = 0 pdcache_loopcount = 0 cpu0: Unknown cid 0 processor v3.99 MMU: Standard BAT, 64 entries L1 i-cache: 0 ways of 0 sets, 32 bytes per line L1 d-cache: 0 ways of 0 sets, 32 bytes per line Physical memory chunk(s): 0x45f000 - 0xfba1fff, 259272704 bytes (63299 pages) Maxmem is 0xfba2000 KDB: debugger backends: ddb KDB: current backend: ddb hz=100 cyl_per_tick:400000 cyl_per_usec:400 freq:400000000 cyl_per_hz:4000000 cyl_per_stathz:4000000 cyl_per_profhz:4000000 Copyright (c) 1992-2010 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-CURRENT #37: Thu May 27 14:10:53 CEST 2010 phcoder@freebsd.bg45.phnet:/home/phcoder/compile/mips/home/phcoder/p4/yeeloong/src/sys/YEELOONG mips Trap cause = 2 (TLB miss (load or instr. fetch) - kernel mode) [ thread pid 0 tid 0 ] Stopped at 0xffffffff80385c64: lbu v0,205(a0) db> t Tracing pid 0 tid 0 td 0xffffffff8043f070 ffffffff803c8218+40 (?,?,?,?) ra ffffffff801373b8 sp ffffffff804700e0 sz 16 ffffffff80137230+188 (0,?,ffffffffffffffff,?) ra ffffffff80136af8 sp ffffffff804700f0 sz 48 ffffffff80136660+498 (?,?,?,?) ra ffffffff80136dc8 sp ffffffff80470120 sz 192 ffffffff80136cd0+f8 (?,?,?,?) ra ffffffff8013a600 sp ffffffff804701e0 sz 16 ffffffff8013a440+1c0 (?,?,?,?) ra ffffffff802295ac sp ffffffff804701f0 sz 816 ffffffff80229420+18c (?,?,?,?) ra ffffffff803b944c sp ffffffff80470520 sz 32 trap+1c8c (?,?,?,?) ra ffffffff803ad240 sp ffffffff80470540 sz 256 MipsKernGenException+154 (0,0,0,ffffffff80470900) ra ffffffff80385c64 sp ffffffff80470640 sz 368 ffffffff80385c58+c (?,?,?,?) ra ffffffff80388088 sp ffffffff804707b0 sz 16 ffffffff80388018+70 (ffffffff804708f8,?,0,?) ra ffffffff80379e5c sp ffffffff804707c0 sz 128 ffffffff80379d70+ec (0,ffffffffc0000000,2,0) ra ffffffff803b8280 sp ffffffff80470840 sz 480 trap+ac0 (?,?,?,?) ra ffffffff803ad240 sp ffffffff80470a20 sz 256 MipsKernGenException+154 (ffffffffc0000004,0,1,ffffffffc0030000) ra ffffffff803ca5e4 sp ffffffff80470b20 sz 368 ffffffff803ca5b0+34 (?,?,?,?) ra 0 sp ffffffff80470c90 sz 0 pid 0 db> show registers at 0xffffffff804417d8 v0 0x1 v1 0 a0 0 a1 0 a2 0 a3 0xffffffff80470900 t0 0xffffffff803969fc t1 0x1000 t2 0 t3 0 t4 0xffffffff804708e8 t5 0xffffffff804708f0 t6 0xffffffff80470840 t7 0xffffffff80470844 s0 0xffffffff80470b40 s1 0x4eb000 s2 0 s3 0x2 s4 0 --More-- s5 0xffffffff8044fa58 --More-- s6 0xffffffff80470900 s7 0 t8 0 t9 0 k0 0 k1 0 gp 0xffffffff80440840 sp 0xffffffff804707b0 s8 0xffffffffc0000000 ra 0xffffffff80388088 sr 0x20100002 lo 0x48 hi 0 bad 0xcd cs 0x8c08 pc 0xffffffff80385c64 0xffffffff80385c64: lbu v0,205(a0) db> -- Regards Vladimir 'φ-coder/phcoder' Serbinenko From owner-freebsd-mips@FreeBSD.ORG Thu May 27 18:59:55 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F38B71065672 for ; Thu, 27 May 2010 18:59:54 +0000 (UTC) (envelope-from phcoder@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.155]) by mx1.freebsd.org (Postfix) with ESMTP id 793FC8FC1D for ; Thu, 27 May 2010 18:59:54 +0000 (UTC) Received: by fg-out-1718.google.com with SMTP id d23so275049fga.13 for ; Thu, 27 May 2010 11:59:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=/xjKNrwny7yCG0DBQBBrXl0q1wb12lMEaqitqBp99Gs=; b=pv/VPfbH3K79VATq04pODqptPpjtd5wdsYD6M2yPGnFGUbUZSQQVcWKHM0GxVcMCEB FwNBedMK7gOPlC97D2RXLWjQFcmROl0hnHN7f3w7XUH3uLpVg6vX0nFNU9NNH1qp1kng 8xaTEUGQlrf/2dlC5/2nzjvlAoak8WF7JaAvc= 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:x-enigmail-version:content-type :content-transfer-encoding; b=IQuVYNeG5BlfQScr8ExPyWCSdD/1A/QBqVayVmAnPtcezMKPXvd48jFI4FlDt4RGGe nlJ0+FXqsKjeuZYSEthgOamuyR84G7Gqa1+qkw/tIii8biA8TaVEosAne9feXFHwP3N2 fMV1apX9RzwcxdKUIgMTplaaCIc5pugaaj/z8= Received: by 10.204.154.84 with SMTP id n20mr2331065bkw.151.1274986792885; Thu, 27 May 2010 11:59:52 -0700 (PDT) Received: from debian.bg45.phnet (gprs11.swisscom-mobile.ch [193.247.250.11]) by mx.google.com with ESMTPS id h21sm6651095bkh.5.2010.05.27.11.59.49 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 27 May 2010 11:59:51 -0700 (PDT) Message-ID: <4BFEC122.9040307@gmail.com> Date: Thu, 27 May 2010 20:59:46 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) MIME-Version: 1.0 To: "M. Warner Losh" References: <4BFDA036.7080502@gmail.com> <20100527.100314.539398516089941831.imp@bsdimp.com> In-Reply-To: <20100527.100314.539398516089941831.imp@bsdimp.com> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Fix mips64 ddb backtracing X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2010 18:59:55 -0000 M. Warner Losh wrote: > : +static inline register_t > : +kdbpeekD (uintptr_t addr) { > : +#ifdef __MIPSEL__ > : + return ((register_t) kdbpeek ((int *) addr)) > : + | (((register_t) kdbpeek ((int *) addr + 1)) << 32); > : +#else > : + return ((register_t) kdbpeek ((int *) addr + 1)) > : + | (((register_t) kdbpeek ((int *) addr)) << 32); > : +#endif > > This seems wrong. What's wrong with reading the 64-bit quantity > directly? > > =20 Nothing except my ignorance. Is there already a kdbpeek for 64-bit quantities? AFAIU one needs to go through kdbpeek for all reads. > : +} > : =3D20 > : /* > : * Functions ``special'' enough to print by name > : @@ -140,7 +150,7 @@ > : } > : /* check for bad SP: could foul up next frame */ > : /*XXX MIPS64 bad: this hard-coded SP is lame */ > : - if (sp & 3 || sp < 0x80000000) { > : + if (sp & 3 || (uintptr_t) sp < 0xffffffff80000000ULL) { > > This is wrong. sp should be cast to intptr_t to have it still work > with 32-bit debugging. Unsigned sp will be 0x80000000, which will > trigger this case. > > =20 I noticed it myself. Should be fixed in new patch. > : - (*printfn)("%x", args[j]); > : + (*printfn)("%lx", (unsigned long) args[j]); > > These casts aren't right. We should likely be using intmax_t here and > %j. > > =20 Isn't long guaranteed to be at least as long as void * ? Anyway I'm ok with %jx --=20 Regards Vladimir '=CF=86-coder/phcoder' Serbinenko