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

From: Andrew Morton
Date: Thu Jan 15 2015 - 17:49:26 EST


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?

> 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?
--
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/