From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753993AbcIBOqg convert rfc822-to-8bit (ORCPT ); Fri, 2 Sep 2016 10:46:36 -0400 Received: from smtprelay0088.hostedemail.com ([216.40.44.88]:42232 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751454AbcIBOqe (ORCPT ); Fri, 2 Sep 2016 10:46:34 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::::::::,RULES_HIT:41:152:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1513:1515:1516:1518:1521:1535:1544:1593:1594:1605:1711:1730:1747:1777:1792:1981:2194:2198:2199:2200:2393:2553:2559:2562:3138:3139:3140:3141:3142:3865:3866:3867:3868:3870:3871:3872:3874:4250:4321:4362:4605:5007:6119:6238:6261:6742:7875:7903:8660:9038:9040:9163:10004:10848:10967:11026:11232:11473:11658:11914:12043:12050:12438:12555:12740:13148:13230:13870:14181:14659:14721:21080:21324:21433:30012:30029:30054:30055:30056:30064:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:2,LUA_SUMMARY:none X-HE-Tag: plate34_56238f1de4a38 X-Filterd-Recvd-Size: 5736 Date: Fri, 2 Sep 2016 10:46:30 -0400 From: Steven Rostedt To: LKML Cc: Jeremy Fitzhardinge , Chris Wright , Alok Kataria , Rusty Russell , virtualization@lists.linux-foundation.org, Ingo Molnar , "H. Peter Anvin" , Thomas Gleixner , =?UTF-8?B?xYF1a2Fzeg==?= Daniluk , Andrew Morton , Linus Torvalds Subject: Re: [PATCH] x86/paravirt: Do not trace _paravirt_ident_*() functions Message-ID: <20160902104630.4b004e09@gandalf.local.home> In-Reply-To: <20160525134726.6362a601@gandalf.local.home> References: <20160525134726.6362a601@gandalf.local.home> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I just spent half a day bisecting function tracing because I tripped over this again. I thought this was merged, but I guess it was missed again. Can someone please pull this in. And mark it for stable, it goes probably as far back as 2.6.32. Thanks! -- Steve On Wed, 25 May 2016 13:47:26 -0400 Steven Rostedt wrote: > Łukasz Daniluk reported that on a RHEL kernel that his machine would lock up > after enabling function tracer. I asked him to bisect the functions within > available_filter_functions, which he did and it came down to three: > > _paravirt_nop(), _paravirt_ident_32() and _paravirt_ident_64() > > It was found that this is only an issue when noreplace-paravirt is added to > the kernel command line. > > This means that those functions are most likely called within critical > sections of the funtion tracer, and must not be traced. > > In newer kenels _paravirt_nop() is defined within gcc asm(), and is no > longer an issue. But both _paravirt_ident_{32,64}() causes the following > splat when they are traced: > > mm/pgtable-generic.c:33: bad pmd ffff8800d2435150(0000000001d00054) > mm/pgtable-generic.c:33: bad pmd ffff8800d3624190(0000000001d00070) > mm/pgtable-generic.c:33: bad pmd ffff8800d36a5110(0000000001d00054) > mm/pgtable-generic.c:33: bad pmd ffff880118eb1450(0000000001d00054) > NMI watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [systemd-journal:469] > Modules linked in: e1000e > CPU: 2 PID: 469 Comm: systemd-journal Not tainted 4.6.0-rc4-test+ #513 > Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01 v02.05 05/07/2012 > task: ffff880118f740c0 ti: ffff8800d4aec000 task.ti: ffff8800d4aec000 > RIP: 0010:[] [] queued_spin_lock_slowpath+0x118/0x1a0 > RSP: 0018:ffff8800d4aefb90 EFLAGS: 00000246 > RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff88011eb16d40 > RDX: ffffffff82485760 RSI: 000000001f288820 RDI: ffffea0000008030 > RBP: ffff8800d4aefb90 R08: 00000000000c0000 R09: 0000000000000000 > R10: ffffffff821c8e0e R11: 0000000000000000 R12: ffff880000200fb8 > R13: 00007f7a4e3f7000 R14: ffffea000303f600 R15: ffff8800d4b562e0 > FS: 00007f7a4e3d7840(0000) GS:ffff88011eb00000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 00007f7a4e3f7000 CR3: 00000000d3e71000 CR4: 00000000001406e0 > Stack: > ffff8800d4aefba0 ffffffff81cc5f47 ffff8800d4aefc60 ffffffff8122c15b > ffff8800d4aefcb0 ffff8800d4aefbd0 ffffffff811bf4cb 0000000000000002 > 0000000000000015 ffff8800d2276050 80000000c0fd8867 ffffea0000008030 > Call Trace: > [] _raw_spin_lock+0x27/0x30 > [] handle_pte_fault+0x13db/0x16b0 > [] ? function_trace_call+0x15b/0x180 > [] ? handle_pte_fault+0x5/0x16b0 > [] handle_mm_fault+0x312/0x670 > [] ? find_vma+0x68/0x70 > [] __do_page_fault+0x1b1/0x4e0 > [] do_page_fault+0x22/0x30 > [] page_fault+0x28/0x30 > [] ? copy_user_enhanced_fast_string+0x5/0x10 > [] ? seq_read+0x305/0x370 > [] __vfs_read+0x28/0xe0 > [] ? __vfs_read+0x5/0xe0 > [] ? __vfs_read+0x5/0xe0 > [] vfs_read+0x86/0x130 > [] SyS_read+0x46/0xa0 > [] entry_SYSCALL_64_fastpath+0x1e/0xa8 > Code: 12 48 c1 ea 0c 83 e8 01 83 e2 30 48 98 48 81 c2 40 6d 01 00 48 03 14 > c5 80 6a 5d 82 48 89 0a 8b 41 08 85 c0 75 09 f3 90 8b 41 08 <85> c0 74 f7 > 4c 8b 09 4d 85 c9 74 08 41 0f 18 09 eb 02 f3 90 8b > > Reported-by: Łukasz Daniluk > Signed-off-by: Steven Rostedt > > diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c > index f08ac28b8136..f975d226be6e 100644 > --- a/arch/x86/kernel/paravirt.c > +++ b/arch/x86/kernel/paravirt.c > @@ -55,12 +55,12 @@ asm (".pushsection .entry.text, \"ax\"\n" > ".popsection"); > > /* identity function, which can be inlined */ > -u32 _paravirt_ident_32(u32 x) > +u32 notrace _paravirt_ident_32(u32 x) > { > return x; > } > > -u64 _paravirt_ident_64(u64 x) > +u64 notrace _paravirt_ident_64(u64 x) > { > return x; > }