From owner-svn-src-all@freebsd.org Sun Nov 13 07:33:58 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7C19C3FEA6 for ; Sun, 13 Nov 2016 07:33:58 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-it0-x22f.google.com (mail-it0-x22f.google.com [IPv6:2607:f8b0:4001:c0b::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A77FA1375 for ; Sun, 13 Nov 2016 07:33:58 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-it0-x22f.google.com with SMTP id u205so53449532itc.0 for ; Sat, 12 Nov 2016 23:33:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=P60tCRo7+0t2WYjzM+DMkCnS6F78O/xVgBJ3ROX7boI=; b=KM+V34Z44+qH20/uOTUSmzeW5P0x6N1nb2WsyNG8e5jTbqLvNb+pTjOcRqONDbh743 MayOPYAtxZjoSCF5Eji+Yz5WzVcTflOfQjrYKaPTjJm/dL3eoFM49jqh5N6QN1OPygzM fGX3cClaSilEPqZ2rMY0THi2Bxy6kRKYO12Bsxz4kbH2LWWjLLRWTq0Z1BkegMbHHhuB hsmfeUjfDzOgMqN9YPkU5NyulFNQnNSYGqW5jrs786BxCozu6niVmDlrFSNoh8LrnP8C 6VW9+seLUB1gFT4bP6odYpARejKexv+Jd4mjo9lOndLC8V5ZmUM9MqTndVI/P/rA1Py0 c64g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=P60tCRo7+0t2WYjzM+DMkCnS6F78O/xVgBJ3ROX7boI=; b=KDBWo1ciEVVulrNrohvaEJFnHxMGviDoyv41d8xwPbqjongz1+mVS2+tgNX3fQKrvW LZZe9vkqCOg2DghCSRcdCkO4YzblQhoVxWS9eSEoIt9BR+ueNFHWeP3lHW6mZCcv0qMq mandkvbtMrOodjkL/nph8T/wTazgi20OlHD9O+tsoFnTIqsm2kD0kkpUdk4r+XmkJWaY lU975bL33/YhwSZEwHEB4lnvJajOQtG8WviCkZw8TewX7Ee1I0AgRzq5jsNu920tHKwu Q8f1Yj464XpfxCVKvGnJZ10VPfNqtTntUqcCAQAs2wgpLLkRyN7NSZ/ROqaTemlBMzPj Dkow== X-Gm-Message-State: ABUngvelUtq8a+zKuDOfWvS+FWXDJApNHCI/l+bcSrPsYmMxD9ohmYYF4+2umDDWHe7AAfMzf7rd3rBskp07GQ== X-Received: by 10.107.132.74 with SMTP id g71mr18900252iod.19.1479022438017; Sat, 12 Nov 2016 23:33:58 -0800 (PST) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.134.66 with HTTP; Sat, 12 Nov 2016 23:33:57 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: <20161113071911.GF54029@kib.kiev.ua> References: <201610191109.u9JB9TTC002727@repo.freebsd.org> <20161113065851.GD54029@kib.kiev.ua> <20161113071911.GF54029@kib.kiev.ua> From: Warner Losh Date: Sun, 13 Nov 2016 00:33:57 -0700 X-Google-Sender-Auth: QbSIAsv0K34Qsd0xXm2Kd4Wj640 Message-ID: Subject: Re: svn commit: r307626 - head/sys/ufs/ffs To: Konstantin Belousov Cc: Adrian Chadd , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "freebsd-mips@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Nov 2016 07:33:59 -0000 On Sun, Nov 13, 2016 at 12:19 AM, Konstantin Belousov wrote: > On Sun, Nov 13, 2016 at 12:12:02AM -0700, Warner Losh wrote: >> On Sat, Nov 12, 2016 at 11:58 PM, Konstantin Belousov >> wrote: >> > On Sat, Nov 12, 2016 at 03:19:13PM -0800, Adrian Chadd wrote: >> >> hi! >> >> >> >> This broke freebsd on mips24k. >> >> >> >> BAD_PAGE_FAULT: pid 1 tid 100001 (init), uid 0: pc 0x4002a4 got a read >> >> fault (type 0x2) at 0 >> >> Trapframe Register Dump: >> >> zero: 0 at: 0 v0: 0 v1: 0 >> >> a0: 0x7fffeecc a1: 0 a2: 0 a3: 0 >> >> t0: 0 t1: 0 t2: 0 t3: 0 >> >> t4: 0 t5: 0 t6: 0 t7: 0 >> >> t8: 0 t9: 0x400260 s0: 0x10 s1: 0x2 >> >> s2: 0x7fffeed0 s3: 0 s4: 0 s5: 0 >> >> s6: 0 s7: 0 k0: 0 k1: 0 >> >> gp: 0x4d55d0 sp: 0x7ffeee90 s8: 0 ra: 0 >> >> sr: 0xfc13 mullo: 0 mulhi: 0 badvaddr: 0 >> >> cause: 0x8 pc: 0x4002a4 >> >> Page table info for pc address 0x4002a4: pde = 0x809be000, pte = 0xa001acda >> >> Dumping 4 words starting at pc address 0x4002a4: >> >> 8c420000 14400003 00908021 8f828024 >> >> Page table info for bad address 0: pde = 0, pte = 0 >> > MIPS24k has split I/D caches, and both are VIPT, am I right ? >> > I was not able to find the handling of cache aliasing in mips/pmap.c. >> > >> > Still, I am curious whether setting the loader tunable vfs.buf_pager_relbuf >> > to 1 change anything. >> >> MIPS caches are such that creating two virtual mappings to the same >> physical page will cause corruption. It's simply not allowed, at least >> for the class of MIPS machines I used to bring up the port originally. > > Yes, caches are VIPT on 24k, according to the "MIPS32(R) 24K(R) > Processor Core Family Software User's Manual " rev 3.11. My question is, > how is that handled in the mips pmap.c. I was not able to locate > the alias detection and prevention code, or e.g. switching to uncached mode > for the page when aliasing is detected, after browsing pmap. Aliases are not permitted. IIRC, there's no code that detects this condition. One must simply never ever have multiple cached mappings of a page at once. A quick glance at the code doesn't locate anything. > Does FreeBSD/mips run with the caches enabled ? Yes. The implementation is easier w/o caches enabled, but the performance sucks too bad to even contemplate it except for debugging. Warner