Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp2289385ybh; Mon, 9 Mar 2020 02:56:43 -0700 (PDT) X-Google-Smtp-Source: ADFU+vtGYyOFfF4rY+ESbvMDEe/rKeulqGcN6Eu/Vc83+2kG3RxeMK6qrXXgQBcOLciFxakoId5C X-Received: by 2002:a9d:450a:: with SMTP id w10mr4942869ote.114.1583747802934; Mon, 09 Mar 2020 02:56:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583747802; cv=none; d=google.com; s=arc-20160816; b=H74t9l0/kFIYjG/h/X9YCwjqkAAs2sEcrNQlyFiUBizfQYLQ51Xp7zDAW7j73PuqHa tOM+XXZ7mRHhTt2px7HnnMHbNdgZLvYnswr8FQKLCIrxuQQqgsZ4DGPqejChBqSFeAj1 /6mreNjMiEV181J/Bk41DtsXOMeV74DCKmkQKMESNCVkwpX91fAKcyeLvLAxd1tzuFVn Ev3IJwZlsTeVMZKObXPjpmOxnPFDjybEv7HCM+Ha62pWoQ5s2Ni5hKcwHxcb8OzcwS+R s9KIDu2W5Ns4jfYZLJ83HRhg4I6GyyzWThHIG9TYdlDtoACXpo7PiUfkGdHWNLfR+8y+ RDlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject; bh=ftRLiaghNrMPJ2U1U/Smp2aARhCTgsAmxcODG/iGK8s=; b=s5zdgPosesKhrJLF2nm8Sf96k4E5jxSH5Ztgz9aObBGgMohbqlWDAw//AgoTDhwWET GTGZyHRa7tbvmqfXJC27ABUCBy1ACAGDg7TDan30a17M+8iyVwlXgd88Fp5LkxjXGDuR 1XDKvM5XMpzTTnwYYp3ZFfeV1FLP07tPnkzeE9FyfzIHIXqRN7E2c0nHqi89u8aEk2Ap vTnz4I89pPo5N9GMCRXqFo0iSiySL3qkjz3xOyINGOTQkEZHG/1VWwou3sh9CqO4cisD Pwf9KhRT3ogfTN806K3v5KtX2647xo8fMM806ZRqnFZBWzEOYD8CwlbfHu/5YP0sxCsU nsaA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q24si2960189oij.95.2020.03.09.02.56.31; Mon, 09 Mar 2020 02:56:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726512AbgCIJ4M (ORCPT + 99 others); Mon, 9 Mar 2020 05:56:12 -0400 Received: from out30-56.freemail.mail.aliyun.com ([115.124.30.56]:43892 "EHLO out30-56.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726027AbgCIJ4L (ORCPT ); Mon, 9 Mar 2020 05:56:11 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R181e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01f04397;MF=alex.shi@linux.alibaba.com;NM=1;PH=DS;RN=10;SR=0;TI=SMTPD_---0Ts5Rsuh_1583747765; Received: from IT-FVFX43SYHV2H.local(mailfrom:alex.shi@linux.alibaba.com fp:SMTPD_---0Ts5Rsuh_1583747765) by smtp.aliyun-inc.com(127.0.0.1); Mon, 09 Mar 2020 17:56:06 +0800 Subject: Re: linux-next test error: BUG: using __this_cpu_read() in preemptible code in __mod_memcg_state To: "Kirill A. Shutemov" , syzbot Cc: akpm@linux-foundation.org, cgroups@vger.kernel.org, hannes@cmpxchg.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mhocko@kernel.org, syzkaller-bugs@googlegroups.com, vdavydov.dev@gmail.com References: <00000000000022640205a04a20d8@google.com> <20200309092423.2ww3aw6yfyce7yty@box> From: Alex Shi Message-ID: <5b1196be-09ce-51f7-f5e7-63f2e597f91e@linux.alibaba.com> Date: Mon, 9 Mar 2020 17:56:04 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20200309092423.2ww3aw6yfyce7yty@box> Content-Type: text/plain; charset=gbk Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ?? 2020/3/9 ????5:24, Kirill A. Shutemov ะด??: >> check_preemption_disabled: 3 callbacks suppressed >> BUG: using __this_cpu_read() in preemptible [00000000] code: syz-fuzzer/9432 >> caller is __mod_memcg_state+0x27/0x1a0 mm/memcontrol.c:689 >> CPU: 1 PID: 9432 Comm: syz-fuzzer Not tainted 5.6.0-rc4-next-20200306-syzkaller #0 >> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 >> Call Trace: >> __dump_stack lib/dump_stack.c:77 [inline] >> dump_stack+0x188/0x20d lib/dump_stack.c:118 >> check_preemption_disabled lib/smp_processor_id.c:47 [inline] >> __this_cpu_preempt_check.cold+0x84/0x90 lib/smp_processor_id.c:64 >> __mod_memcg_state+0x27/0x1a0 mm/memcontrol.c:689 >> __split_huge_page mm/huge_memory.c:2575 [inline] >> split_huge_page_to_list+0x124b/0x3380 mm/huge_memory.c:2862 >> split_huge_page include/linux/huge_mm.h:167 [inline] > It looks like a regression due to c8cba0cc2a80 ("mm/thp: narrow lru > locking"). yes, I guess so. In this patch, I am very bold to move the lru unlock from before 'remap_page(head);' up to before 'ClearPageCompound(head);' which is often checked in lrulock. I want to know which part that real should stay in lru_lock. So revert this patch or move it back or move after ClearPageCompound should fix this problem. In the weekend and today, I tried a lot to reproduce this bug on my 2 machines, but still can't. :~( Many thanks to give a try! Thank Alex line 2605 mm/huge_memory.c: spin_unlock_irqrestore(&pgdat->lru_lock, flags); ClearPageCompound(head); split_page_owner(head, HPAGE_PMD_ORDER); /* See comment in __split_huge_page_tail() */ if (PageAnon(head)) { /* Additional pin to swap cache */ if (PageSwapCache(head)) { page_ref_add(head, 2); xa_unlock(&swap_cache->i_pages); } else { page_ref_inc(head); } } else { /* Additional pin to page cache */ page_ref_add(head, 2); xa_unlock(&head->mapping->i_pages); } remap_page(head);