Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753423AbdGLPo5 (ORCPT ); Wed, 12 Jul 2017 11:44:57 -0400 Received: from resqmta-ch2-08v.sys.comcast.net ([69.252.207.40]:49034 "EHLO resqmta-ch2-08v.sys.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750984AbdGLPo4 (ORCPT ); Wed, 12 Jul 2017 11:44:56 -0400 Date: Wed, 12 Jul 2017 10:44:54 -0500 (CDT) From: Christopher Lameter X-X-Sender: cl@nuc-kabylake To: Andre Wild cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, heiko.carstens@de.ibm.com Subject: Re: BUG: using __this_cpu_read() in preemptible [00000000] code: mm_percpu_wq/7 In-Reply-To: Message-ID: References: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-CMAE-Envelope: MS4wfLPBbB38zvTtZ+KpnUE51kNcqQYFNEk0FDiRAPRJ8AeCniMKbnc4RzkbjwkqYrfG3UP4rYEF4DNrD42u5b9tGtNdI0x5kqxfUxZlDTZZ4o9UYdCLrThE r99CSt5ETVDafQoL7n/ENV50GEp0FN3Llei3fKULsCUICWi5CCOaSI4FwrfoF3dkhY1VzHl3+8MNAULJJ/x44jCLQMOsBusmfnzQRShpBQ0d0cjBct19Ae0a FJZbT93OPvS4FsVj1u7YDI1UP9lHDxhgockkrZ2Qd9w= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 974 Lines: 26 On Wed, 7 Jun 2017, Andre Wild wrote: > I'm currently seeing the following message running kernel version 4.11.0. > It looks like it was introduced with the patch > 4037d452202e34214e8a939fa5621b2b3bbb45b7. A 2007 patch? At that point we did not have __this_cpu_read() nor refresh_cpu_vmstats.... Is this on s390 or some such architecture? > Can you please take a look at this problem? Could you give me a bit more context? > [Tue Jun 6 15:27:03 2017] BUG: using __this_cpu_read() in preemptible > [00000000] code: mm_percpu_wq/7 > [Tue Jun 6 15:27:03 2017] caller is refresh_cpu_vm_stats+0x198/0x3d8 > [Tue Jun 6 15:27:03 2017] CPU: 0 PID: 7 Comm: mm_percpu_wq Tainted: G > W 4.11.0-20170529.0.ae409ab.224a322.fc25.s390xdefault #1 > [Tue Jun 6 15:27:03 2017] Workqueue: mm_percpu_wq vmstat_update It is run in preemptible mode but this from a kworker context so the processor cannot change (see vmstat_refresh()). Even on s390 or so this should be fine.