Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp70126pxj; Tue, 15 Jun 2021 20:22:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJys298ifurqWEumoIHys21glFiSmJ/TJFjrDwIYnQOX1TJWomoM2OnqzI8n0Owh1oKw5umN X-Received: by 2002:a17:906:af85:: with SMTP id mj5mr2952741ejb.352.1623813751681; Tue, 15 Jun 2021 20:22:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623813751; cv=none; d=google.com; s=arc-20160816; b=sw8gvTBhcNMph1+FUA9wkZZI+lF70pCRD6vScf1nMD1X9lgWRbmDw7C/i4PmT36lot U7z8cIBI20kebIq9pf5DSBP4BgsH8ISPcuxkh6wHswQEJcLHz4frbTFNsxryoRR5NgWk FHPE51rJZ4Yk1MSGe5CxwGXB84KOWLOyU/nA1ntFRl5gU2tmR6fOX8TYIwzukwomc7Pd 4a5AgkMmAhdi6pOQfuHISRQJquNWGcsn6IJZTeRoVPnBO1a4KqxpVaXHcQIESPX/eyM6 Ir+Foj+em9nCLpaip4LdcFwclEL8GTSHx9qp+ae/zMIGeFiqmla4E4pGlf5qbq0tY0DZ kmow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=hWdPVhvRu7rfTl98K6Ax+vsNMDR8qwHyeLWbdOmlHP4=; b=ajne209eGJ4CaE9EgiihWwhgST0V47aLc1l8H7U6WSIGfAnX81bXUpQf7CeXrs0kmh jdDkuZb+hd/7mts11Xfn9xxmY0lff1y1TOZh+aT3OZimTlXac2F71kpajiqRU0MEgyFt +1TN1HKgDErn2JL2c4PSyiZ2aIOV1o9cxBmhbyW73ceO0PgBcEfv9SzMpBPvo6VNTXN1 i7Fwo2BymmboppRseRbis25TYQEH9OVvNaSG6kSpp/E79QaWKo5ZIjSOoqVrBN3L31ms RtPUtgS1WfZ1NAndJuZH64Mg4PwHi1wxO7k0r542px/PZ1aU8VUKA92NJMmcIdaD658m 86Gw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nwBg7NXU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t23si875348ejr.435.2021.06.15.20.22.08; Tue, 15 Jun 2021 20:22:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nwBg7NXU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229992AbhFPDXV (ORCPT + 99 others); Tue, 15 Jun 2021 23:23:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:42606 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229931AbhFPDXU (ORCPT ); Tue, 15 Jun 2021 23:23:20 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 790A661246; Wed, 16 Jun 2021 03:21:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623813675; bh=rOudsK9P7bMhTK2OtdWpKbEvj8MV63gh3o1URze326c=; h=From:To:Cc:Subject:Date:From; b=nwBg7NXU86tjS9hw+PrWm7ZikqKiel5aE9OxQyWP6my3RTBNdx0JBxZP1ybHFZVha DGADS6+CJMndKBo/uPWHrPN2oBys9zp8keSaitE8gY18gVL1oxe+cztsz7tFffA5U0 i6c2B4WUjd+l086Kjx81pEmqGc997WkmFXA3e3W94t/1Ut5EOfRGFFcnLSEA6W/L/P R0v65CwSLI8vzQ8yWlr1LsXD+vdzEZEyZaUXdnMfv7MjKxY6XVrO97uw8oJwkaHX20 N9AWz2jiCGJJ3DhOCZ3Tc6P/XU2HDaPjahNfW1gH72fheKST+IyGPuTDcTyUxaEM9l WBYYkH1LtDrMQ== From: Andy Lutomirski To: x86@kernel.org Cc: Dave Hansen , LKML , linux-mm@kvack.org, Andrew Morton , Andy Lutomirski Subject: [PATCH 0/8] membarrier cleanups Date: Tue, 15 Jun 2021 20:21:05 -0700 Message-Id: X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org membarrier() is unnecessarily tangled with the core scheduler. Clean it up. While we're at it, remove the documentation and drop the pretence that SYNC_CORE can ever be a well-defined cross-arch operation. Andy Lutomirski (8): membarrier: Document why membarrier() works x86/mm: Handle unlazying membarrier core sync in the arch code membarrier: Remove membarrier_arch_switch_mm() prototype in core code membarrier: Make the post-switch-mm barrier explicit membarrier, kthread: Use _ONCE accessors for task->mm powerpc/membarrier: Remove special barrier on mm switch membarrier: Remove arm (32) support for SYNC_CORE membarrier: Rewrite sync_core_before_usermode() and improve documentation .../membarrier-sync-core/arch-support.txt | 68 +++++------------ arch/arm/Kconfig | 1 - arch/arm64/include/asm/sync_core.h | 19 +++++ arch/powerpc/include/asm/membarrier.h | 27 ------- arch/powerpc/include/asm/sync_core.h | 14 ++++ arch/powerpc/mm/mmu_context.c | 2 - arch/x86/Kconfig | 1 - arch/x86/include/asm/sync_core.h | 7 +- arch/x86/kernel/alternative.c | 2 +- arch/x86/kernel/cpu/mce/core.c | 2 +- arch/x86/mm/tlb.c | 54 ++++++++++--- drivers/misc/sgi-gru/grufault.c | 2 +- drivers/misc/sgi-gru/gruhandles.c | 2 +- drivers/misc/sgi-gru/grukservices.c | 2 +- fs/exec.c | 2 +- include/linux/sched/mm.h | 42 +++++----- include/linux/sync_core.h | 21 ----- init/Kconfig | 3 - kernel/kthread.c | 16 +--- kernel/sched/core.c | 44 +++-------- kernel/sched/membarrier.c | 76 +++++++++++++++++-- 21 files changed, 210 insertions(+), 197 deletions(-) create mode 100644 arch/arm64/include/asm/sync_core.h delete mode 100644 arch/powerpc/include/asm/membarrier.h create mode 100644 arch/powerpc/include/asm/sync_core.h delete mode 100644 include/linux/sync_core.h -- 2.31.1