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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF9CBC38142 for ; Thu, 19 Jan 2023 04:24:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 477726B0072; Wed, 18 Jan 2023 23:24:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 426A76B0073; Wed, 18 Jan 2023 23:24:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C77A6B0074; Wed, 18 Jan 2023 23:24:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 196D76B0072 for ; Wed, 18 Jan 2023 23:24:19 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id DF16DC0499 for ; Thu, 19 Jan 2023 04:24:18 +0000 (UTC) X-FDA: 80370256596.01.C1FE632 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf29.hostedemail.com (Postfix) with ESMTP id 385EE120009 for ; Thu, 19 Jan 2023 04:24:17 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=WZDUjfOL; spf=pass (imf29.hostedemail.com: domain of npiggin@gmail.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=npiggin@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674102257; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=c1J7vuOigOymY1Zk38Z4JeTgNz+j/oREHGhmGUsHx/8=; b=cXxFOQdA6Su3occBPTsBOGDVcodB05lwTgWdncLH0TacS4lWxwHCYBpQlJBahMeXep9pBU P0+Btvgo/TVHln09Bq+mKWmAf16n80kZ17xxsezzTiERsvAY1Rjm0ZnFti3uOmOl0PW4jL HLFH2f0u1LYcOC0pQFw9sDkuTI4ovXU= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=WZDUjfOL; spf=pass (imf29.hostedemail.com: domain of npiggin@gmail.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=npiggin@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674102257; a=rsa-sha256; cv=none; b=sqEdGMVGx2BniguHk4vYCNrZBWPA9XYJgTIQ5qcPFyfC0B88stoG1Vs/B/dXGfM8tv8YxP RoLRY/if8sVONRwJqR8Dxx5lEFeA6uQHToGxCK3zv1kEhkx0VpJbLzWmU169TVpru0E+wY D9ZjrWw5u+KpVnILwdtr8CusfzEjM/4= Received: by mail-pl1-f182.google.com with SMTP id b17so1184874pld.7 for ; Wed, 18 Jan 2023 20:24:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=c1J7vuOigOymY1Zk38Z4JeTgNz+j/oREHGhmGUsHx/8=; b=WZDUjfOLPsSuFKt/G39tLSbM/WFTPs7WukHsli7BbMY9RzqZl6rMnrLDVXibgONhry djMp0q12Qm8cDRHYTlSDHiDDtOR2lrDlAybOJVmnJks/ZHqOQL9VXE2eBoJZAahlTbvs rusBqUT/CMizS3EaWLfbxmgu6Po0I2w05ZQAN4eqq3IbKLykiU/5zWkQSbb1p1hYj7TQ La8n5Z+SvnWryMnobOTU3UQV+wCiyvvyK2cdyGBxONGIULOFdREjZVVrqQLCFU1F3lsr n/QHvaimR4CBSjxB7TJuT5hwcRhRaBKXp2zrSJV6m4yE+KnjyNP/AYt80HWDtVt+zOB2 fa1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=c1J7vuOigOymY1Zk38Z4JeTgNz+j/oREHGhmGUsHx/8=; b=j/AozOTjKfabGYUIq7r7JIbxNvwVHitTFXvTy09TiLbNYvWSwSHKh+GMkHHONxwr+D sy2J1Mm5NfdDW7KotWb3zcBgYw8m7fqMQRBLnL9UtmmgkM5ZwI//OKoogyvnVKeDfGR4 5BvrHjoZrBHA0FZHepsRSGgMrixVzoossHOp/kmzFKmhgcKR3kRINvFRkDIYOtGJs7vk es4M1DeQ3xFi1boxgiGC2CqnAGLbYWeAbvxJeOiW5VIpCjGVvqAUNrnegPcP7+ShIEVB 9OAgEMNyZWBmO0O4rFBfEvFcdpx/LU0FF+Aq6nJDfYPhPDChN8sChb/VzZSZnzdjiEsB Y6zw== X-Gm-Message-State: AFqh2kqFMpiisoOEwYdIydnwmECoOTLnxaGSmIh01GJgZYJF60YKwaXX uGqhv3bH+PmzsERU4QdGj1Y= X-Google-Smtp-Source: AMrXdXuKZidOPo/a2pzghQNLOHD10FYNqkFh/Sf6FufPl/1jnSobgpJ6H0O40d0XuF6uZUnDLidggw== X-Received: by 2002:a05:6a20:7a83:b0:b8:eaee:54cc with SMTP id u3-20020a056a207a8300b000b8eaee54ccmr6174042pzh.54.1674102256049; Wed, 18 Jan 2023 20:24:16 -0800 (PST) Received: from localhost (193-116-102-45.tpgi.com.au. [193.116.102.45]) by smtp.gmail.com with ESMTPSA id a82-20020a621a55000000b00587c11bc925sm19655163pfa.168.2023.01.18.20.22.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 Jan 2023 20:24:15 -0800 (PST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 19 Jan 2023 14:22:52 +1000 Message-Id: Cc: "Andrew Morton" , "Andy Lutomirski" , "Linus Torvalds" , "linux-arch" , "linux-mm" , Subject: Re: [PATCH v6 3/5] lazy tlb: shoot lazies, non-refcounting lazy tlb mm reference handling scheme From: "Nicholas Piggin" To: "Nadav Amit" X-Mailer: aerc 0.13.0 References: <20230118080011.2258375-1-npiggin@gmail.com> <20230118080011.2258375-4-npiggin@gmail.com> <5F3590B8-3F25-4EFB-BE3A-D32AAAC0B2F4@gmail.com> In-Reply-To: <5F3590B8-3F25-4EFB-BE3A-D32AAAC0B2F4@gmail.com> X-Rspamd-Queue-Id: 385EE120009 X-Stat-Signature: yjqqq18m75qs1hduz5be3namp3ytz417 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1674102257-981623 X-HE-Meta: U2FsdGVkX181LLR0gq9WFOGYrEG43H+bNcCBW2/TahchnWCVjLasZ7/MZeZJQh8G0TQ3rUPakObZaM57v07vkm4eRdUP1VunDV8gqzLrnyWxDgTrwYXZDiTND8cAopdA0zt1ba13ORtY3hwzhJ86d0+brmJaysMVGWZDwzu0jLbZ4FwchMwxyAPdgCfxlYsEEA3orIGTFby0sXbf5WHkGGGVB/HPs+OoqrKQCOPDQeot3KCJRQQw1GWhTZtKR1RVcieHY9UneGR1lSlj322s3AbrNVLf0zkxRDbRVMw/EcnrB//oBpYfj7BjLzrifhAk0k8rLCis5qKwdVxzzUS8KaUoy19AngJ0+gPPMru+pdt3L+QZC4oeHbJvKOs9pYWtsObKsuo/2ZeB+B0mwbnvRSQlo6RqdDyDpibq+uw8LXECEG/TCFKt9wNqfCOmEUFwlMpxoOsH8taGz+Rw3YyJf5NV1+FlvVRCnDMHJY9th9RvQDv4WOxEZY3uxHfKDA18ALRm9ctC/P8jauoyI+3SXlH3AfjGCeyuVQ965ePN0uClIzoUlKMRswsRdHhhR+zu+nZsD4grLfo7m81xPeCQTUJ9Fz64A9y8Q7NzAPQWX8yd4wZXl0RyJntNxrPu4P1g+Qs9tpcjJxXm1UfkxeX6FreZo/3tDgjof8yRSqX6aGHeTe/yh8cCPgg4zan0To0L6xeeQojKLzGt5oE70u2TenEanLbm664SLzMzZTfmCDVL+xhhhB92OUrAltaPoEs7fahSyaUbDR2QpGi2k9GygOPZY7v7BzfPm6YOElnNR75oplzvPMTV47SkiIsauMhGsxDwtoOpH3eaTLTtuOe/siZdDDjEd5pTqPBL3aEhU5JGJg4pIB7vfgj4uFs5E4dDBxHgX8XAUWw8ww5BqB2aVf8Sd99f5TqQp7PV36TBxL/96Ywom370FVW0/kgB5FVEcQOpwZphP6bkR0jcrsJ ncEHhtgd 65FkfZ4E5cEjed0hPOBVVQHiQI0DbY9NwY0wkg7gXx3Ib+F076gAb8cYT+C6EJj+fH+p/KPtq0VhDckJN1itiPyXMjBrnHXeJttvKe0ebQxuerkQt5V0PXqk1HD1taZBt3Ma6JBFRbbMRUt90n1blrz0bz6Bv3D4gZS+/gidqSyLZQxvjX/b09SeUtQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu Jan 19, 2023 at 8:22 AM AEST, Nadav Amit wrote: > > > > On Jan 18, 2023, at 12:00 AM, Nicholas Piggin wrote= : > >=20 > > +static void do_shoot_lazy_tlb(void *arg) > > +{ > > + struct mm_struct *mm =3D arg; > > + > > + if (current->active_mm =3D=3D mm) { > > + WARN_ON_ONCE(current->mm); > > + current->active_mm =3D &init_mm; > > + switch_mm(mm, &init_mm, current); > > + } > > +} > > I might be out of touch - doesn=E2=80=99t a flush already take place when= we free > the page-tables, at least on common cases on x86? > > IIUC exit_mmap() would free page-tables, and whenever page-tables are > freed, on x86, we do shootdown regardless to whether the target CPU TLB s= tate > marks is_lazy. Then, flush_tlb_func() should call switch_mm_irqs_off() an= d > everything should be fine, no? > > [ I understand you care about powerpc, just wondering on the effect on x8= 6 ] Now I come to think of it, Rik had done this for x86 a while back. https://lore.kernel.org/all/20180728215357.3249-10-riel@surriel.com/ I didn't know about it when I wrote this, so I never dug into why it didn't get merged. It might have missed the final __mmdrop races but I'm not not sure, x86 lazy tlb mode is too complicated to know at a glance. I would check with him though. Thanks, Nick