Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1638925
| Path | csiph.com!weretis.net!feeder4.news.weretis.net!feeds.phibee-telecom.net!news.panservice.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | Nick Desaulniers <nick.desaulniers@gmail.com> |
| Newsgroups | linux.kernel |
| Subject | [Patch v3] mm/vmscan: fix unsequenced modification and access warning |
| Date | Wed, 10 May 2017 17:50:01 +0200 |
| Message-ID | <tFC2d-2vc-15@gated-at.bofh.it> (permalink) |
| References | <tFw6t-7lp-7@gated-at.bofh.it> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=MfveW9Kgk6nqfZ1CPrwD/wU4dhQYVI7IlB5EkrIEgZY=; b=TbkAgJ1061D2GmnDV3BwC3rqyqlKnNU83n3mMBqj2xKuSygGXPdvtcrQCvO1/3+p39 LZBE5sUuL99QU7wwdsCALBTTmaZZqbrlFLsojs0riF+ou0N4rY1GqWhySH96rTOEEQ4c ivA6KJpM0WcZbz2p3Wa2C/sPJcQkEkNdP9x/1Mbo79Ym/Xpk6m2tIh7wyXwqNpp7cA+y T6PTHQdyh/5FyIL27m/Xt7paROI2/ihUOut7OYmLo4HCdfIGxnioip81vQHfzxFifS6+ 7V/Yz1l87OV9nS7BCWuqFqHo/BEmorGA9fMmFjXkc4ztjdBYZZ6qhIDQK8pYToGDMRgK R1JA== |
| 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:in-reply-to :references; bh=MfveW9Kgk6nqfZ1CPrwD/wU4dhQYVI7IlB5EkrIEgZY=; b=avBaSLVO4J43n06veZQSOnYAz2iXh/6mY2nn1hDO6dKeUUHRNVEsF9TWuXGfbvT1f7 FeOfibx/0D61PROgrhMRrCRrP1u4xRFeE6dGaMPp6sUVTisahM5P6yWq4utOtVZulgsN DH8OklqhHW7AnRSU4hAulEEb9Vqd32mTO6HGogvwHu5imT3OYZiaK6Xw7DrrzDslRQGb Z8Vy9nqluNGIB/NGtWUOf+jmt14Mml4vGJ2+QKOwVJLpRQsJyvxhXk3R5rPILfk0ayrW uuUzyaOXwPEY6CUzDMVA+uMRQZrasv6sLUBLo/aTcFyCNNPPtPfgDVLa/1Le2KDDG5QF lX4Q== |
| X-Gm-Message-State | AODbwcC8Qe/VXq7XSE/253lOBz6dLV+vw+VKtONmQeQKkkMZC5hQWN8e xo5u7nTu7Q56Rg== |
| X-Received | by 10.99.149.94 with SMTP id t30mr7248245pgn.152.1494430842294; Wed, 10 May 2017 08:40:42 -0700 (PDT) |
| X-Mailer | git-send-email 2.11.0 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 82 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | akpm@linux-foundation.org, hannes@cmpxchg.org, mgorman@techsingularity.net, mhocko@suse.com, vbabka@suse.cz, minchan@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Nick Desaulniers <nick.desaulniers@gmail.com> |
| X-Original-Date | Wed, 10 May 2017 08:40:30 -0700 |
| X-Original-Message-ID | <20170510154030.10720-1-nick.desaulniers@gmail.com> |
| X-Original-References | <20170510092505.GH31466@dhcp22.suse.cz> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1638925 |
Show key headers only | View raw
Clang and its -Wunsequenced emits a warning
mm/vmscan.c:2961:25: error: unsequenced modification and access to
'gfp_mask' [-Wunsequenced]
.gfp_mask = (gfp_mask = current_gfp_context(gfp_mask)),
^
While it is not clear to me whether the initialization code violates the
specification (6.7.8 par 19 (ISO/IEC 9899) looks like it disagrees) the
code is quite confusing and worth cleaning up anyway. Fix this by
reusing sc.gfp_mask rather than the updated input gfp_mask parameter.
Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com>
Acked-by: Michal Hocko <mhocko@suse.com>
---
Changes in v3:
- changed commit message
- added previous ack
Will file a bug with llvm later today
mm/vmscan.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 4e7ed65842af..d32c42d17935 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2958,7 +2958,7 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
unsigned long nr_reclaimed;
struct scan_control sc = {
.nr_to_reclaim = SWAP_CLUSTER_MAX,
- .gfp_mask = (gfp_mask = current_gfp_context(gfp_mask)),
+ .gfp_mask = current_gfp_context(gfp_mask),
.reclaim_idx = gfp_zone(gfp_mask),
.order = order,
.nodemask = nodemask,
@@ -2973,12 +2973,12 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
* 1 is returned so that the page allocator does not OOM kill at this
* point.
*/
- if (throttle_direct_reclaim(gfp_mask, zonelist, nodemask))
+ if (throttle_direct_reclaim(sc.gfp_mask, zonelist, nodemask))
return 1;
trace_mm_vmscan_direct_reclaim_begin(order,
sc.may_writepage,
- gfp_mask,
+ sc.gfp_mask,
sc.reclaim_idx);
nr_reclaimed = do_try_to_free_pages(zonelist, &sc);
@@ -3763,16 +3763,15 @@ static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned in
const unsigned long nr_pages = 1 << order;
struct task_struct *p = current;
struct reclaim_state reclaim_state;
- int classzone_idx = gfp_zone(gfp_mask);
struct scan_control sc = {
.nr_to_reclaim = max(nr_pages, SWAP_CLUSTER_MAX),
- .gfp_mask = (gfp_mask = current_gfp_context(gfp_mask)),
+ .gfp_mask = current_gfp_context(gfp_mask),
.order = order,
.priority = NODE_RECLAIM_PRIORITY,
.may_writepage = !!(node_reclaim_mode & RECLAIM_WRITE),
.may_unmap = !!(node_reclaim_mode & RECLAIM_UNMAP),
.may_swap = 1,
- .reclaim_idx = classzone_idx,
+ .reclaim_idx = gfp_zone(gfp_mask),
};
cond_resched();
@@ -3782,7 +3781,7 @@ static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned in
* and RECLAIM_UNMAP.
*/
p->flags |= PF_MEMALLOC | PF_SWAPWRITE;
- lockdep_set_current_reclaim_state(gfp_mask);
+ lockdep_set_current_reclaim_state(sc.gfp_mask);
reclaim_state.reclaimed_slab = 0;
p->reclaim_state = &reclaim_state;
--
2.11.0
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH] mm/vmscan: fix unsequenced modification and access warning Nick Desaulniers <nick.desaulniers@gmail.com> - 2017-05-10 09:00 +0200
Re: [PATCH] mm/vmscan: fix unsequenced modification and access warning Michal Hocko <mhocko@kernel.org> - 2017-05-10 09:20 +0200
[Patch v2] mm/vmscan: fix unsequenced modification and access warning Nick Desaulniers <nick.desaulniers@gmail.com> - 2017-05-10 10:30 +0200
Re: [Patch v2] mm/vmscan: fix unsequenced modification and access warning Michal Hocko <mhocko@kernel.org> - 2017-05-10 10:40 +0200
Re: [PATCH] mm/vmscan: fix unsequenced modification and access warning Nick Desaulniers <nick.desaulniers@gmail.com> - 2017-05-10 10:50 +0200
Re: [PATCH] mm/vmscan: fix unsequenced modification and access warning Michal Hocko <mhocko@kernel.org> - 2017-05-10 11:30 +0200
[Patch v3] mm/vmscan: fix unsequenced modification and access warning Nick Desaulniers <nick.desaulniers@gmail.com> - 2017-05-10 17:50 +0200
csiph-web