On Sun, Jul 01, 2018 at 07:09:41PM -0400, Peter Geis wrote: > The warning is as follows: > [10409.408904] ------------[ cut here ]------------ > [10409.408912] WARNING: CPU: 0 PID: 38 at ./include/linux/xarray.h:53 > workingset_eviction+0x14c/0x154 This is interesting. Here's the code that leads to the warning: static void *pack_shadow(int memcgid, pg_data_t *pgdat, unsigned long eviction) { eviction >>= bucket_order; eviction = (eviction << MEM_CGROUP_ID_SHIFT) | memcgid; eviction = (eviction << NODES_SHIFT) | pgdat->node_id; return xa_mk_value(eviction); } The warning itself comes from: static inline void *xa_mk_value(unsigned long v) { WARN_ON((long)v < 0); return (void *)((v << 1) | 1); } The fact that we haven't seen this on other architectures makes me wonder if NODES_SHIFT or MEM_CGROUP_ID_SHIFT are messed up on Tegra? Johannes, I wonder if you could help out here? I'm not terribly familiar with this part of the workingset code.