Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3893444pxb; Mon, 1 Feb 2021 07:20:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJwXHQGmbGD+TJS2SW69s5Hn5VXztsRkbwjdnuyHStmh0pwatnPztn8Zv0/JTRVqj008eaZm X-Received: by 2002:a05:6402:702:: with SMTP id w2mr5852814edx.78.1612192846508; Mon, 01 Feb 2021 07:20:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612192846; cv=none; d=google.com; s=arc-20160816; b=biVkYXRbPK5VheRrsLMlaC0/iff5AMfa2MxhD6gtljpAbj9p23KARd0howzapQo5i+ Rwyd0tChsMCk2ilPlV46vD9HgnyirMHtSM38mGhyjzd6DaAkivvYjTbthzgLur8UXHKB 8QDVJQWg4gIyJbskkgsTUdZ3+fRO0GrC9bmjrtzGb/lRc+92QDm/EuvS0Y35OLbA5vf2 LsKRmakNC8QLhu1lf8P8kwvM0S8nosxH5Jt4zhsw2v6rQx9yoHpy34CDlTeJu+nReZIi 7Tsh7rJfWTNj/8k3jq/YmimhMT51LZ2TKkM9+2SK52AbxmjTWVvWxjm9F8gOHDDuiCHJ +ohA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=1drokd9cJSQ6GYiOHv9zG3H3SD70So++Mt2RlaiX9nE=; b=DJMd7UcTdXj73i0zP/ZzSFwQ/CsVtBhfzIpMotkybxiZMKPa0s+Illrh0ounbuj08a bybS/J0ZVKZRFm+xw9m9+Ekx6631B7/DI6iTIZnUXQpn8RxtMMZ7suq7Kx/NzAmavfsk HRl+Or98byMRDa1z07E4HcTwMxAjZWtj7oxMRJ62qtjg7fZ4vvPjd0MYFzddPEbOlqjO 0C7wNbMSQEqTrtKTz2rQqOESUdmsFPCEaCYK3VFn6kvJYW7LohPCIfvIBQqiuBq/e/qh EzlD2PhpBmOhNySU0UNMNcaofgGhv2CdobsPRGzFmGQLwfniT+45auaJT2h1vzkI/Vos 0gtw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n12si7467740ejr.62.2021.02.01.07.20.20; Mon, 01 Feb 2021 07:20:46 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229963AbhBAPSr (ORCPT + 99 others); Mon, 1 Feb 2021 10:18:47 -0500 Received: from mx2.suse.de ([195.135.220.15]:49492 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229696AbhBAPSf (ORCPT ); Mon, 1 Feb 2021 10:18:35 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 46D07AD18; Mon, 1 Feb 2021 15:17:52 +0000 (UTC) Subject: Re: [v5 PATCH 07/11] mm: vmscan: add per memcg shrinker nr_deferred To: Yang Shi Cc: Roman Gushchin , Kirill Tkhai , Shakeel Butt , Dave Chinner , Johannes Weiner , Michal Hocko , Andrew Morton , Linux MM , Linux FS-devel Mailing List , Linux Kernel Mailing List References: <20210127233345.339910-1-shy828301@gmail.com> <20210127233345.339910-8-shy828301@gmail.com> <6b0638ba-2513-67f5-8ef1-9e60a7d9ded6@suse.cz> From: Vlastimil Babka Message-ID: <0ce8b6e4-5abb-3edb-8423-f6c222420a89@suse.cz> Date: Mon, 1 Feb 2021 16:17:51 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/29/21 7:04 PM, Yang Shi wrote: >> > > @@ -209,9 +214,15 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg, >> > > if (!new) >> > > return -ENOMEM; >> > > >> > > - /* Set all old bits, clear all new bits */ >> > > - memset(new->map, (int)0xff, old_size); >> > > - memset((void *)new->map + old_size, 0, size - old_size); >> > > + new->map = (unsigned long *)(new + 1); >> > > + new->nr_deferred = (void *)new->map + m_size; >> > >> > This better be aligned to sizeof(atomic_long_t). Can we be sure about that? >> >> Good point. No, if unsigned long is 32 bit on some 64 bit machines. > > I think we could just change map to "u64" and guarantee struct > shrinker_info is aligned to 64 bit. What about changing to order, nr_deferred before map? Then the atomics are at the beginning of allocated area, thus aligned.