Re: [PATCH] mm/vmscan: fix highidx argument type

From: Michael S. Tsirkin
Date: Fri Jan 16 2015 - 02:08:13 EST


On Thu, Jan 15, 2015 at 02:49:20PM -0800, Andrew Morton wrote:
> On Fri, 16 Jan 2015 00:18:12 +0200 "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:
>
> > for_each_zone_zonelist_nodemask wants an enum zone_type
> > argument, but is passed gfp_t:
> >
> > mm/vmscan.c:2658:9: expected int enum zone_type [signed] highest_zoneidx
> > mm/vmscan.c:2658:9: got restricted gfp_t [usertype] gfp_mask
> > mm/vmscan.c:2658:9: warning: incorrect type in argument 2 (different base types)
> > mm/vmscan.c:2658:9: expected int enum zone_type [signed] highest_zoneidx
> > mm/vmscan.c:2658:9: got restricted gfp_t [usertype] gfp_mask
>
> Which tool emitted these warnings?

Oh, sorry.
It's sparce.

> > convert argument to the correct type.
> >
> > ...
> >
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -2656,7 +2656,7 @@ static bool throttle_direct_reclaim(gfp_t gfp_mask, struct zonelist *zonelist,
> > * should make reasonable progress.
> > */
> > for_each_zone_zonelist_nodemask(zone, z, zonelist,
> > - gfp_mask, nodemask) {
> > + gfp_zone(gfp_mask), nodemask) {
> > if (zone_idx(zone) > ZONE_NORMAL)
> > continue;
>
> hm, I wonder what the runtime effects are.
>
> The throttle_direct_reclaim() comment isn't really accurate, is it?
> "Throttle direct reclaimers if backing storage is backed by the
> network". The code is applicable to all types of backing, but was
> added to address problems which are mainly observed with network
> backing?


As far as I can tell, yes. It would seem that it can cause
deadlocks in theory. Cc stable on the grounds that it's obvious?

--
MST
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/