From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by kanga.kvack.org (Postfix) with ESMTP id 127766B0008 for ; Wed, 25 Jul 2018 11:48:22 -0400 (EDT) Received: by mail-ed1-f71.google.com with SMTP id t10-v6so3253612eds.7 for ; Wed, 25 Jul 2018 08:48:22 -0700 (PDT) Received: from theia.8bytes.org (8bytes.org. [81.169.241.247]) by mx.google.com with ESMTPS id j18-v6si8553819edf.210.2018.07.25.08.48.20 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Jul 2018 08:48:20 -0700 (PDT) From: Joerg Roedel Subject: [PATCH 2/3] Revert "perf/core: Make sure the ring-buffer is mapped in all page-tables" Date: Wed, 25 Jul 2018 17:48:02 +0200 Message-Id: <1532533683-5988-3-git-send-email-joro@8bytes.org> In-Reply-To: <1532533683-5988-1-git-send-email-joro@8bytes.org> References: <1532533683-5988-1-git-send-email-joro@8bytes.org> Sender: owner-linux-mm@kvack.org List-ID: To: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" Cc: x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Linus Torvalds , Andy Lutomirski , Dave Hansen , Josh Poimboeuf , Juergen Gross , Peter Zijlstra , Borislav Petkov , Jiri Kosina , Boris Ostrovsky , Brian Gerst , David Laight , Denys Vlasenko , Eduardo Valentin , Greg KH , Will Deacon , aliguori@amazon.com, daniel.gruss@iaik.tugraz.at, hughd@google.com, keescook@google.com, Andrea Arcangeli , Waiman Long , Pavel Machek , "David H . Gutteridge" , jroedel@suse.de, Arnaldo Carvalho de Melo , Alexander Shishkin , Jiri Olsa , Namhyung Kim , joro@8bytes.org From: Joerg Roedel This reverts commit 77754cfa09a6c528c38cbca9ee4cc4f7cf6ad6f2. The patch was necessary to silence a WARN_ON_ONCE(in_nmi()) that triggered in the vmalloc_fault() function when PTI was enabled on x86-32. Faulting in an NMI handler turned out to be safe and the warning in vmalloc_fault() is gone now. So the above patch can be reverted. Signed-off-by: Joerg Roedel --- kernel/events/ring_buffer.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index df2d8cf..5d3cf40 100644 --- a/kernel/events/ring_buffer.c +++ b/kernel/events/ring_buffer.c @@ -814,13 +814,6 @@ static void rb_free_work(struct work_struct *work) vfree(base); kfree(rb); - - /* - * FIXME: PAE workaround for vmalloc_fault(): Make sure buffer is - * unmapped in all page-tables. - */ - if (IS_ENABLED(CONFIG_X86_PAE)) - vmalloc_sync_all(); } void rb_free(struct ring_buffer *rb) @@ -847,15 +840,6 @@ struct ring_buffer *rb_alloc(int nr_pages, long watermark, int cpu, int flags) if (!all_buf) goto fail_all_buf; - /* - * FIXME: PAE workaround for vmalloc_fault(): The buffer is - * accessed in NMI handlers, make sure it is mapped in all - * page-tables in the system so that we don't fault on the range in - * an NMI handler. - */ - if (IS_ENABLED(CONFIG_X86_PAE)) - vmalloc_sync_all(); - rb->user_page = all_buf; rb->data_pages[0] = all_buf + PAGE_SIZE; if (nr_pages) { -- 2.7.4