Hi. This patchset aims to remove most of XFS custom memory allocation mechanism and replace it with generic memory interfaces. This includes: - removing KM_* flags - removing most of the kmem_* API, with the exception of 2 helpers (see the last two patches). All mem alloc requests using KM_* flags, were replaced following these rules: - KM_ZONE_* flags were directly replaced by their SLAB_* relative - KM_NOFS: Replaced by GFP_NOFS - KM_MAYFAIL: Replaced by __GFP_RETRY_MAYFAIL - All memalloc requests made with no KM_* flags, like: kmem_alloc(item, 0); Have been replaced by GFP_KERNEL. - Every memalloc request without KM_MAYFAIL have been replaced by __GFP_NOFAIL and the other flags OR'ed together. These patches passed a few xfstests runs without issues. Cheers Carlos Maiolino (11): xfs: Remove slab init wrappers xfs: Remove kmem_zone_destroy() wrapper xfs: Remove kmem_zone_free() wrapper xfs: remove kmem_zone_zalloc() xfs: Remove kmem_zone_alloc() wrapper xfs: remove kmem_zalloc() wrapper xfs: Remove kmem_realloc xfs: Convert kmem_alloc() users xfs: rework kmem_alloc_{io,large} to use GFP_* flags xfs: Remove KM_* flags xfs: Remove kmem_alloc_{io, large} and kmem_zalloc_large fs/xfs/kmem.c | 134 +++------------------- fs/xfs/kmem.h | 93 +--------------- fs/xfs/libxfs/xfs_alloc.c | 3 +- fs/xfs/libxfs/xfs_alloc_btree.c | 2 +- fs/xfs/libxfs/xfs_attr_leaf.c | 11 +- fs/xfs/libxfs/xfs_bmap.c | 8 +- fs/xfs/libxfs/xfs_bmap_btree.c | 2 +- fs/xfs/libxfs/xfs_btree.c | 2 +- fs/xfs/libxfs/xfs_da_btree.c | 18 +-- fs/xfs/libxfs/xfs_defer.c | 4 +- fs/xfs/libxfs/xfs_dir2.c | 20 ++-- fs/xfs/libxfs/xfs_dir2_block.c | 2 +- fs/xfs/libxfs/xfs_dir2_sf.c | 8 +- fs/xfs/libxfs/xfs_ialloc_btree.c | 2 +- fs/xfs/libxfs/xfs_iext_tree.c | 14 ++- fs/xfs/libxfs/xfs_inode_fork.c | 32 +++--- fs/xfs/libxfs/xfs_refcount.c | 9 +- fs/xfs/libxfs/xfs_refcount_btree.c | 2 +- fs/xfs/libxfs/xfs_rmap.c | 2 +- fs/xfs/libxfs/xfs_rmap_btree.c | 2 +- fs/xfs/scrub/agheader.c | 4 +- fs/xfs/scrub/attr.c | 10 +- fs/xfs/scrub/attr.h | 3 +- fs/xfs/scrub/bitmap.c | 7 +- fs/xfs/scrub/btree.c | 4 +- fs/xfs/scrub/fscounters.c | 3 +- fs/xfs/scrub/refcount.c | 4 +- fs/xfs/scrub/symlink.c | 3 +- fs/xfs/xfs_acl.c | 3 +- fs/xfs/xfs_attr_inactive.c | 2 +- fs/xfs/xfs_attr_list.c | 2 +- fs/xfs/xfs_bmap_item.c | 8 +- fs/xfs/xfs_buf.c | 35 +++--- fs/xfs/xfs_buf_item.c | 10 +- fs/xfs/xfs_dquot.c | 20 ++-- fs/xfs/xfs_dquot_item.c | 3 +- fs/xfs/xfs_error.c | 4 +- fs/xfs/xfs_extent_busy.c | 3 +- fs/xfs/xfs_extfree_item.c | 16 +-- fs/xfs/xfs_filestream.c | 2 +- fs/xfs/xfs_icache.c | 6 +- fs/xfs/xfs_icreate_item.c | 4 +- fs/xfs/xfs_inode.c | 4 +- fs/xfs/xfs_inode_item.c | 5 +- fs/xfs/xfs_ioctl.c | 8 +- fs/xfs/xfs_ioctl32.c | 3 +- fs/xfs/xfs_itable.c | 8 +- fs/xfs/xfs_iwalk.c | 5 +- fs/xfs/xfs_log.c | 19 ++-- fs/xfs/xfs_log_cil.c | 10 +- fs/xfs/xfs_log_priv.h | 2 +- fs/xfs/xfs_log_recover.c | 24 ++-- fs/xfs/xfs_mount.c | 7 +- fs/xfs/xfs_mru_cache.c | 5 +- fs/xfs/xfs_qm.c | 6 +- fs/xfs/xfs_refcount_item.c | 12 +- fs/xfs/xfs_rmap_item.c | 12 +- fs/xfs/xfs_rtalloc.c | 5 +- fs/xfs/xfs_super.c | 171 ++++++++++++++++------------- fs/xfs/xfs_trace.h | 1 - fs/xfs/xfs_trans.c | 6 +- fs/xfs/xfs_trans_ail.c | 3 +- fs/xfs/xfs_trans_dquot.c | 5 +- 63 files changed, 353 insertions(+), 494 deletions(-) -- 2.23.0