From owner-freebsd-arm@FreeBSD.ORG Fri Nov 28 17:50:26 2014 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0D6C2F9C; Fri, 28 Nov 2014 17:50:26 +0000 (UTC) Received: from mail-wg0-x236.google.com (mail-wg0-x236.google.com [IPv6:2a00:1450:400c:c00::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 87E7AD8E; Fri, 28 Nov 2014 17:50:25 +0000 (UTC) Received: by mail-wg0-f54.google.com with SMTP id l2so9400381wgh.13 for ; Fri, 28 Nov 2014 09:50:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=eY2jUWlIVxTBwtLXi7yimCFnsJrU9EK4r/bzlXtzAcw=; b=RiVlEZfeBkneEoGwKcCmiLfq0MCUwsXOIYZqyTuAaq148+5DLZDTSIdbkFLUUfpxDn DswS4Oj7SxFgBsxeQTWmNElAmQk6F56wi3vK5R3XS7FSP9kZWmOyhYmf03oJQ/dcN2YH MgwIxjVZ8UK5XhVeOZrHYNUSux/5frjb+3HgU3O6vYcu7+/NCgKCmRvOc0kdVsPjocQS lmhVBt78Td4Fh/biSmfgM+vaaZ89VKW0C4asgyivnRDfCPjzd8AugJp+dEJS7eSGvy1N sgB/VO2K1SOXgZrbeWSPLCVd5d0HR66Lna7x5G+XThEienAwYmcyb88aHKk6PcynS//v 1TEA== MIME-Version: 1.0 X-Received: by 10.194.85.83 with SMTP id f19mr72912013wjz.20.1417197023117; Fri, 28 Nov 2014 09:50:23 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.216.106.136 with HTTP; Fri, 28 Nov 2014 09:50:22 -0800 (PST) In-Reply-To: References: <20141113125236.b16cd4e5f0e339eac0494cd4@ulrich-grey.de> <20141115143444.5ad037548e06f289d2532fb7@ulrich-grey.de> <20141119225903.81fbbc7809093a0e6e0de9d5@ulrich-grey.de> <20141120151900.a68c6d8316b96a62cb65d17a@ulrich-grey.de> <20141121115941.54d4e36b103341c3adf7eb36@ulrich-grey.de> <20141124132733.4e96b906f0d1ab69969dddd9@ulrich-grey.de> <1416840814.1147.380.camel@revolution.hippie.lan> <20141125225451.924a5df4bdb4753db273b8c5@ulrich-grey.de> <20141126125806.78f2df97328e807d12746ae3@ulrich-grey.de> <519fde5db60e4fc594956a600c6cad4e@e15be-01.zdv.Uni-Mainz.DE> <1417108193.1055.2.camel@revolution.hippie.lan> Date: Fri, 28 Nov 2014 09:50:23 -0800 X-Google-Sender-Auth: qIN8cSh_0f2cif3a5UxytfSXBg4 Message-ID: Subject: Re: Another Test Run with Alternative pmap Implementation From: Adrian Chadd To: Svatopluk Kraus Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: "freebsd-arm@freebsd.org" , Ian Lepore X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Nov 2014 17:50:26 -0000 Hi, PCPU_GET()ed things aren't atomic. Unless you're in a critical section, you can be pre-empted at any time and migrated to another CPU. There aren't explicit "migration points" that kernel code can be migrated - it can be pre-empted and migrated to other CPUs whenever something else at a higher priority comes along. So if you're not wrapping your PCPU_GET() and subsequent work inside a critical section - if you're using the PCPU_GET()'ed data outside of the critical section, then you're in for a world of trouble. -adrian On 28 November 2014 at 01:31, Svatopluk Kraus wrote: > I think that the pmap_remove_page warning is very likely due to not atomi= c > PCPU_GET(). Can you please try attached patch. > > Svata > > > > On Thu, Nov 27, 2014 at 6:09 PM, Ian Lepore wrote: > >> On Wed, 2014-11-26 at 22:18 +0000, Wei=C3=9F, Dr. J=C3=BCrgen wrote: >> > I made a testrun with the updated source tree and the patches for >> > the jetson tk1 platform. With >> > >> > options ARM_NEW_PMAP >> > options DEBUG >> > options DIAGNOSTIC >> > options INVARIANTS # Enable calls of extra sanity >> checking >> > options INVARIANT_SUPPORT # Extra sanity checks of >> internal structures, required by INVARIAN >> > >> > and no special sysctl settings. >> > >> > A make -j6 buildworld finishes successfully after 2h15m. There is >> > one kernel message >> > kernel: warning: pmap_remove_pages called with non-current pmap >> > >> > /usr/src and /usr/obj over nfs, /tmp on tmpfs >> > >> > Regards >> >> That's similar to my results. I changed to -j20 to see if that would >> recreate the problems that Ulrich is seeing, but buildworld runs fine >> for me, in about 2 hours. I've never seen the non-current pmap warning >> on the system that uses a usb ssd drive as root, but I've seen it with >> nfs root. >> >> BTW, the DIAGNOSTIC option adds a LOT of performance overhead to an arm >> system without adding a lot of value. I usually leave it off, sometimes >> turn it on when I encounter a problem to see if it generates more info >> (usually it doesn't). >> >> -- Ian >> >> >> > > _______________________________________________ > freebsd-arm@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"