Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1017445ybi; Fri, 31 May 2019 12:22:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqwWCKEwnkYxbIl4IqnPgUvvFG1NkeR1z15XncnlpqSpw7Rwd2XyQm7ttJcuRxkZwReWWXO5 X-Received: by 2002:a62:6844:: with SMTP id d65mr12233058pfc.175.1559330538885; Fri, 31 May 2019 12:22:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559330538; cv=none; d=google.com; s=arc-20160816; b=IaojbLQ8FNAB+d/OGDcTQHmGy+H8LwPB2X/hnzD0R/jGeLANZA7IStEbuz0vbnixBp GCV7QhWmu9haOdBrm02nKF1RMtdZTUc90kIjPvnEfyFfoNfzmp/EelRiiDoWCz+WJg03 HGBnlWUJ6CLoiIRiF/0vibChQ7b5mCDvr7D7kCCcuNLT9EDL3HIVfw6JR6pG3x0gMEh1 1IJh6IePWQeUghIeoi4Pz4Ff9uVd/vTMitVsPwsXhswfYlqwNw72JEPPbaS5c63dpZJT /609T8UrWDE3SLQUV3Po/y6tmB6vhZdcj/xxdUr6EBogynAh2ksJ3nbE6Ksut3owhZC6 b/Ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=GTX5Cgdck8YyB6MHi5KkfMWFB3KE2P2EVJB/MkSYzRc=; b=q9qSpg4qhjh3atsx7wD/is+GvKZLkkdSa1mUa3bUeoqK7bpG8GHa1tOV/PTbkBElwY zaoZndynRwmXu43im/ItgfDj3dhgwmtzE0YRMQ3UtoEozXShwQJ1Sg9ZfXXbWDbKq1fb JwXh5CSpudi/TQTfZ0FAPRvK8VjeowhSoFOI6sxABtscsQoBpmR+tsThyz3k/a/TjWRS SZqwkl6bkQ+H8N5bHUQKIJKI46WBl8Are3uR5N6n22oYgBVQMo7jNwcKTw+lKEQ0M3fW 1RMBLlg9Lpp5kkOrIKL52G+weRwEDbSQyjJSKRQcc9evv20Y89RkO6dSkimFrJMGXSzw FUBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="stM7yT+/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y22si7073713pgj.402.2019.05.31.12.22.03; Fri, 31 May 2019 12:22:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="stM7yT+/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727203AbfEaTUs (ORCPT + 99 others); Fri, 31 May 2019 15:20:48 -0400 Received: from mail-oi1-f195.google.com ([209.85.167.195]:39167 "EHLO mail-oi1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727147AbfEaTUs (ORCPT ); Fri, 31 May 2019 15:20:48 -0400 Received: by mail-oi1-f195.google.com with SMTP id v2so8553655oie.6 for ; Fri, 31 May 2019 12:20:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=GTX5Cgdck8YyB6MHi5KkfMWFB3KE2P2EVJB/MkSYzRc=; b=stM7yT+/Mh1mRi0NzQUr3s1Y1nNgecbCv440WRhAFcd/gPsu76bApuH7dxU+uoTOAg q/Oh3LCRItAgarMUU4qsqfHs4W424oGdtbCtnGL+KNwyyios3qtE0O90XAHM8CMM5fx9 GqCHFduaKx4ulL4x5XZvwWsq+S6Jca8v+8jp22+oY/JHXkJslGCPJ2OnJjESi1rxC8+O Ovg6jJaW4Ce4dIj4mPHTgHi/RAMSpA8Nyii7tPEVm9gzAIxQ+FfgIXPAAc8gmxLL4PF5 U011AEywn6Cp7UYj+RoP3WM/cMhR2c4yCKSsH5n0fMfcI0DSkK0atBgUdxKbwcAWiu5C +I8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=GTX5Cgdck8YyB6MHi5KkfMWFB3KE2P2EVJB/MkSYzRc=; b=XVvia15jYktV67635MfHy2XiEGcto3ZLx9vzDIR4XNOkWV4UHFg04qAZsr9mVraY0E v8rRagss43q7EPJ/CUzh98UHMTa1xZ+tgEpfpw55PtAkgxsSbnza43XfuEI5mi3KDrRY UG213uO6j8J+mw6NXs0xpJpeo46ZVVUdyjABLbVcsA6yA2cRMgDOXlcFtLa7a+14kaJ1 WV4CF2SwBIpRNEWvYfs7RofHvezR1oNdSIWHZIPDxNjRMTUqlof+oa7hO9TkbutIM+c4 OFeuvjaHgqL52ZMCvpSxPbu41SRQq3Ifp6aBSoM85qp7jSDHqLoI6NwXVWhm9lE2UuuX yD7g== X-Gm-Message-State: APjAAAXviJ5U3U3l9TgSw/YEbxkYltam3h+XgzatYvU3FoNfxbjWjC5k 50S8qiEPbaUWGdMBTdO7uDwp/YAmFAt+k1umEB83JQ== X-Received: by 2002:aca:e0d6:: with SMTP id x205mr190997oig.47.1559330447322; Fri, 31 May 2019 12:20:47 -0700 (PDT) MIME-Version: 1.0 References: <20190531063645.4697-1-namit@vmware.com> <20190531063645.4697-12-namit@vmware.com> <20190531105758.GO2623@hirez.programming.kicks-ass.net> <82791CFA-3748-4881-9F01-53F677108FC3@vmware.com> In-Reply-To: <82791CFA-3748-4881-9F01-53F677108FC3@vmware.com> From: Jann Horn Date: Fri, 31 May 2019 21:20:21 +0200 Message-ID: Subject: Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing To: Nadav Amit Cc: Peter Zijlstra , Andy Lutomirski , Borislav Petkov , Dave Hansen , Ingo Molnar , Thomas Gleixner , "the arch/x86 maintainers" , LKML , Dave Hansen Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 31, 2019 at 8:29 PM Nadav Amit wrote: > > [ +Jann Horn ] > > > On May 31, 2019, at 3:57 AM, Peter Zijlstra wrot= e: > > > > On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: > >> When we flush userspace mappings, we can defer the TLB flushes, as lon= g > >> the following conditions are met: > >> > >> 1. No tables are freed, since otherwise speculative page walks might > >> cause machine-checks. > >> > >> 2. No one would access userspace before flush takes place. Specificall= y, > >> NMI handlers and kprobes would avoid accessing userspace. [...] > A #MC might be caused. I tried to avoid it by not allowing freeing of > page-tables in such way. Did I miss something else? Some interaction with > MTRR changes? I=E2=80=99ll think about it some more, but I don=E2=80=99t = see how. I don't really know much about this topic, but here's a random comment since you cc'ed me: If the physical memory range was freed and reallocated, could you end up with speculatively executed cached memory reads from I/O memory? (And if so, would that be bad?)