Hi
On Wed, May 21, 2014 at 3:17 PM, Daniel Vetter daniel@ffwll.ch wrote:
On Wed, May 21, 2014 at 02:16:26PM +0200, David Herrmann wrote:
The shmem subsystem supports relocating pages on swap-in in case it was loaded into the wrong zone. This was implemented 2 years ago in:
commit bde05d1ccd512696b09db9dd2e5f33ad19152605 Author: Hugh Dickins <hughd@google.com> Date: Tue May 29 15:06:38 2012 -0700 shmem: replace page if mapping excludes its zone
If a driver requires pages to be in a specific zone, they _must_ set the correct GFP flags (like __GFP_DMA32) in mapping_gfp_mask(mapping). shmem will make sure that any page leaving the swap-cache is located in a compatible zone.
Signed-off-by: David Herrmann dh.herrmann@gmail.com
Imo the BUG_ON is nice since we want to make sure this never blows up. We have a similar one in i915_gem.c since we do have platforms with 32bit limits that support more than 4G or ram.
Imo better to update the comment and state that this is fixed now, but better be paranoid.
Ok, I've kept the BUG_ON. I've also appended some more patches that clean-up the shmem handling. v2 is on the list.
Thanks David