From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.0 required=3.0 tests=BAYES_00,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B1BC7C433FE for ; Fri, 4 Dec 2020 05:07:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 57A5D22571 for ; Fri, 4 Dec 2020 05:07:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727331AbgLDFHt (ORCPT ); Fri, 4 Dec 2020 00:07:49 -0500 Received: from mail.kernel.org ([198.145.29.99]:43740 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725554AbgLDFHt (ORCPT ); Fri, 4 Dec 2020 00:07:49 -0500 From: Andy Lutomirski Authentication-Results: mail.kernel.org; dkim=permerror (bad message/signature format) To: x86@kernel.org, Mathieu Desnoyers Cc: LKML , Nicholas Piggin , Arnd Bergmann , Anton Blanchard , Andy Lutomirski Subject: [PATCH v3 0/4] membarrier fixes Date: Thu, 3 Dec 2020 21:07:02 -0800 Message-Id: X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Various membarrier fixes. Changes from v2: - Added reviewed-bys - Don't rseq_preempt the caller (Mathieu) - Fix single-thread short circuit (Mathieu) Changes from v1: - patch 1: comment fixes from Mathieu - patch 2: improved comments - patch 3: split out as a separate patch - patch 4: now has a proper explanation Mathieu, I think we have to make sync_core sync the caller. See patch 4. Andy Lutomirski (4): x86/membarrier: Get rid of a dubious optimization membarrier: Add an actual barrier before rseq_preempt() membarrier: Explicitly sync remote cores when SYNC_CORE is requested membarrier: Execute SYNC_CORE on the calling thread arch/x86/include/asm/sync_core.h | 9 ++-- arch/x86/mm/tlb.c | 10 ++++- kernel/sched/membarrier.c | 77 ++++++++++++++++++++++++-------- 3 files changed, 72 insertions(+), 24 deletions(-) -- 2.28.0