Re: [PATCH 13/21] xfs: don't allow highmem pages in xfile mappings

Matthew Wilcox
2024-01-26T16:27:03Z

On Fri, Jan 26, 2024 at 02:28:55PM +0100, Christoph Hellwig wrote:
> XFS is generally used on 64-bit, non-highmem platforms and xfile
> mappings are accessed all the time. Reduce our pain by not allowing
> any highmem mappings in the xfile page cache and remove all the kmap
> calls for it.

Ummm ...

> +++ b/fs/xfs/scrub/xfile.c
> @@ -77,6 +77,12 @@ xfile_create(
> inode = file_inode(xf->file);
> lockdep_set_class(&inode->i_rwsem, &xfile_i_mutex_key);
>
> + /*
> + * We don't want to bother with kmapping data during repair, so don't
> + * allow highmem pages to back this mapping.
> + */
> + mapping_set_gfp_mask(inode->i_mapping, GFP_HIGHUSER);

HIGHUSER includes __GFP_HIGHMEM.

Do you want GFP_USER? Compared to GFP_KERNEL, it includes the "cpuset
memory allocation policy" which ... I have no idea what it means, honestly.