Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752229AbdFLG3X (ORCPT ); Mon, 12 Jun 2017 02:29:23 -0400 Received: from mx2.suse.de ([195.135.220.15]:36433 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752052AbdFLG3W (ORCPT ); Mon, 12 Jun 2017 02:29:22 -0400 Date: Mon, 12 Jun 2017 08:29:18 +0200 From: Michal Hocko To: David Rientjes Cc: Matthew Wilcox , Vlastimil Babka , Larry Finger , Andrew Morton , LKML , linux-mm@kvack.org Subject: Re: Sleeping BUG in khugepaged for i586 Message-ID: <20170612062918.GA4145@dhcp22.suse.cz> References: <1e883924-9766-4d2a-936c-7a49b337f9e2@lwfinger.net> <9ab81c3c-e064-66d2-6e82-fc9bac125f56@suse.cz> <20170608144831.GA19903@dhcp22.suse.cz> <20170608170557.GA8118@bombadil.infradead.org> <20170608201822.GA5535@dhcp22.suse.cz> <20170608203046.GB5535@dhcp22.suse.cz> <20170610080941.GA12347@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1278 Lines: 30 On Sun 11-06-17 16:28:11, David Rientjes wrote: > On Sat, 10 Jun 2017, Michal Hocko wrote: > > > > > I would just pull the cond_resched out of __collapse_huge_page_copy > > > > right after pte_unmap. But I am not really sure why this cond_resched is > > > > really needed because the changelog of the patch which adds is is quite > > > > terse on details. > > > > > > I'm not sure what could possibly be added to the changelog. We have > > > encountered need_resched warnings during the iteration. > > > > Well, the part the changelog is not really clear about is whether the > > HPAGE_PMD_NR loops itself is the source of the stall. This would be > > quite surprising because doing 512 iterations taking up to 20+s sounds > > way to much. > > I have no idea where you come up with 20+ seconds. OK, I misread your report as a soft lockup. > These are not soft lockups, these are need_resched warnings. We monitor > how long need_resched has been set and when a thread takes an excessive > amount of time to reschedule after it has been set. A loop of 512 pages > with ptl contention and doing {clear,copy}_user_highpage() shows that > need_resched can sit without scheduling for an excessive amount of time. How much is excessive here? -- Michal Hocko SUSE Labs