Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp7325361imu; Thu, 31 Jan 2019 08:25:42 -0800 (PST) X-Google-Smtp-Source: ALg8bN4wKadFnu7voLKrYaPNuCuBdgbDyQe2nnJ+QWUcRH2J36MrtsiEMQ+rSWS5DS5MvA3K32n9 X-Received: by 2002:a63:f94c:: with SMTP id q12mr31607424pgk.91.1548951942357; Thu, 31 Jan 2019 08:25:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548951942; cv=none; d=google.com; s=arc-20160816; b=JynjUPt1DLKBfwZ+ESY97yOlzhT8blYBwE/2lvmPS1leJ/Pm7yjdUYkuSguschG20C sJe8n9TeAwnvljs8qX8QyqF/l8xtBATS93XFv7mDQO5Vl3mNdWGVoe8e4T/1MC7Jc4Go qv3jB+lgZSdzx5DVbkmVfbi7QA4ogipRJi0nSEcxGACufcVe2T/5edvIAZgvcVda6mD3 reQ4HpNuNrTZNfg6o8DPD/Ip3gDewP7GFpPYtvONBdQWPB1jsZG2dBX4MDxEbaRBWqUr pXEC29eiif9UQXMYEFDX7jfed3C76QB0mA5a8ZRa1QXLtTaIuNHMH1R/wyrMRm98SksB s1Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=LikxHqRWe3hjXCb7z4Z2tQt/qnU/bnpFMlaXM+BoVok=; b=fwwxoeV1OuoFXi+rSpSrOP2NZ591aLVD/yATU2T1WOqrg/yvJq5EIqH54GkxwCTz4v wa0l9SamZZsv6KzIWiiaG+zzOqxB8CReueZPGIyZgWuVv93mGEwK8KVuWzvhXv3GiLpj 9j3PsqB/7EpmSFg49QLKQeR4jLpLxBX8FMDoNlj7wcSPKizBs1cHip1IXgrHtXhfgaEm 9mjKLACI2MBXAwsU1hwV4TNbNynLxdb3Z3rAjY58ytTw97KvHLr5crnZdIv6q3FV4kFM WC+bWvyYJJFK7kTFQowiCz0GXvOe9RiR+YU0aBRZ6l9zuCIG8xC1yko3IWgRuRAAQrbd kFUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=h5nOl1Zr; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w11si4372574pgp.161.2019.01.31.08.25.27; Thu, 31 Jan 2019 08:25:42 -0800 (PST) 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=@gmail.com header.s=20161025 header.b=h5nOl1Zr; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388440AbfAaQZD (ORCPT + 99 others); Thu, 31 Jan 2019 11:25:03 -0500 Received: from mail-lj1-f193.google.com ([209.85.208.193]:33809 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387837AbfAaQZC (ORCPT ); Thu, 31 Jan 2019 11:25:02 -0500 Received: by mail-lj1-f193.google.com with SMTP id u89-v6so3240467lje.1 for ; Thu, 31 Jan 2019 08:25:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=LikxHqRWe3hjXCb7z4Z2tQt/qnU/bnpFMlaXM+BoVok=; b=h5nOl1ZrqIDtZT5ELvlIWlWxX+VkQQvGj/ENOOkAh/20HMnikuTXkdjru37zdjcEj7 7CakwLLnjlv5QJU7GhUSlyoMVxgaC5mBVPZ7R1WPCCi7EPZYy4ghniGfVUiBgMYc9pTw Om7nUSB8n39h31aqjbPLyn11T4LGTvfiWQuozCFMj9+2Jb/D8pAZhcUzfw7XrJtY6CTY bI6zK0lb4Oqv17oktO9wQoufGW6XgKJ/4MKcUZi4JdjEnVb4PiteH67JppZ4ytY1rowE vawQeP/J6oIdRUSaFFNEC+zVfHMav8WK4+peikRgXU/Tsdzdou4VREKoMstoQmRu17Fd wO0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=LikxHqRWe3hjXCb7z4Z2tQt/qnU/bnpFMlaXM+BoVok=; b=FO10krdpgnqNn8NrZril/i0yQMSjraGXOckeKqKEtpY6ZlqVef9KcNp/x2/wiNt1tp BpcfySViB648Tu305gEJvn7ZF0O8viQiJM01sk+FZzLNm/MILQ20iRAjm2CTm24LV2Ln 2sQyY4frgI/3p+9RlzDN/2KgFYaT/O0cMeEBZ3rfFf5P6GEayFeESNQ0yfnR+Trm1b3h d6vSmJAj+qYI+kw4eC0DphyO2WLKRfZA4eehSHxUW7sdowxvAYbzg19Ijl/GN04b157h Bi5DYao3z3auriFuQnzjfg7XkUj7rtOJ7N6QfZyzCOYhzKCYb2qZ8mF+DlGiC0ci/Doc AasA== X-Gm-Message-State: AHQUAuag+fZJXx8k0ACUlMV4TUYwoI2QLuHk/JOECSY7afh8vXQluTe5 cMIKi6eK+Rq+Oa+f3Q6VygY= X-Received: by 2002:a2e:8446:: with SMTP id u6-v6mr16709416ljh.74.1548951900903; Thu, 31 Jan 2019 08:25:00 -0800 (PST) Received: from pc636.semobile.internal ([37.139.158.167]) by smtp.gmail.com with ESMTPSA id z6sm909595lfd.50.2019.01.31.08.24.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 Jan 2019 08:25:00 -0800 (PST) From: "Uladzislau Rezki (Sony)" To: Andrew Morton Cc: linux-mm@kvack.org, Michal Hocko , Matthew Wilcox , LKML , Thomas Garnier , Oleksiy Avramchenko , Steven Rostedt , Joel Fernandes , Thomas Gleixner , Ingo Molnar , Tejun Heo , "Uladzislau Rezki (Sony)" Subject: [PATCH 1/1] mm/vmalloc: convert vmap_lazy_nr to atomic_long_t Date: Thu, 31 Jan 2019 17:24:52 +0100 Message-Id: <20190131162452.25879-1-urezki@gmail.com> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org vmap_lazy_nr variable has atomic_t type that is 4 bytes integer value on both 32 and 64 bit systems. lazy_max_pages() deals with "unsigned long" that is 8 bytes on 64 bit system, thus vmap_lazy_nr should be 8 bytes on 64 bit as well. Signed-off-by: Uladzislau Rezki (Sony) --- mm/vmalloc.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index abe83f885069..755b02983d8d 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -632,7 +632,7 @@ static unsigned long lazy_max_pages(void) return log * (32UL * 1024 * 1024 / PAGE_SIZE); } -static atomic_t vmap_lazy_nr = ATOMIC_INIT(0); +static atomic_long_t vmap_lazy_nr = ATOMIC_LONG_INIT(0); /* * Serialize vmap purging. There is no actual criticial section protected @@ -650,7 +650,7 @@ static void purge_fragmented_blocks_allcpus(void); */ void set_iounmap_nonlazy(void) { - atomic_set(&vmap_lazy_nr, lazy_max_pages()+1); + atomic_long_set(&vmap_lazy_nr, lazy_max_pages()+1); } /* @@ -658,10 +658,10 @@ void set_iounmap_nonlazy(void) */ static bool __purge_vmap_area_lazy(unsigned long start, unsigned long end) { + unsigned long resched_threshold; struct llist_node *valist; struct vmap_area *va; struct vmap_area *n_va; - int resched_threshold; lockdep_assert_held(&vmap_purge_lock); @@ -681,16 +681,16 @@ static bool __purge_vmap_area_lazy(unsigned long start, unsigned long end) } flush_tlb_kernel_range(start, end); - resched_threshold = (int) lazy_max_pages() << 1; + resched_threshold = lazy_max_pages() << 1; spin_lock(&vmap_area_lock); llist_for_each_entry_safe(va, n_va, valist, purge_list) { - int nr = (va->va_end - va->va_start) >> PAGE_SHIFT; + unsigned long nr = (va->va_end - va->va_start) >> PAGE_SHIFT; __free_vmap_area(va); - atomic_sub(nr, &vmap_lazy_nr); + atomic_long_sub(nr, &vmap_lazy_nr); - if (atomic_read(&vmap_lazy_nr) < resched_threshold) + if (atomic_long_read(&vmap_lazy_nr) < resched_threshold) cond_resched_lock(&vmap_area_lock); } spin_unlock(&vmap_area_lock); @@ -727,10 +727,10 @@ static void purge_vmap_area_lazy(void) */ static void free_vmap_area_noflush(struct vmap_area *va) { - int nr_lazy; + unsigned long nr_lazy; - nr_lazy = atomic_add_return((va->va_end - va->va_start) >> PAGE_SHIFT, - &vmap_lazy_nr); + nr_lazy = atomic_long_add_return((va->va_end - va->va_start) >> + PAGE_SHIFT, &vmap_lazy_nr); /* After this point, we may free va at any time */ llist_add(&va->purge_list, &vmap_purge_list); -- 2.11.0