xfs: Remove slab init wrappers
Remove kmem_zone_init() and kmem_zone_init_flags() together with their specific KM_* to SLAB_* flag wrappers. Use kmem_cache_create() directly. Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
Родитель
2a2b5932db
Коммит
b1231760e4
|
@ -78,27 +78,9 @@ kmem_zalloc_large(size_t size, xfs_km_flags_t flags)
|
||||||
* Zone interfaces
|
* Zone interfaces
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define KM_ZONE_HWALIGN SLAB_HWCACHE_ALIGN
|
|
||||||
#define KM_ZONE_RECLAIM SLAB_RECLAIM_ACCOUNT
|
|
||||||
#define KM_ZONE_SPREAD SLAB_MEM_SPREAD
|
|
||||||
#define KM_ZONE_ACCOUNT SLAB_ACCOUNT
|
|
||||||
|
|
||||||
#define kmem_zone kmem_cache
|
#define kmem_zone kmem_cache
|
||||||
#define kmem_zone_t struct kmem_cache
|
#define kmem_zone_t struct kmem_cache
|
||||||
|
|
||||||
static inline kmem_zone_t *
|
|
||||||
kmem_zone_init(int size, char *zone_name)
|
|
||||||
{
|
|
||||||
return kmem_cache_create(zone_name, size, 0, 0, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline kmem_zone_t *
|
|
||||||
kmem_zone_init_flags(int size, char *zone_name, slab_flags_t flags,
|
|
||||||
void (*construct)(void *))
|
|
||||||
{
|
|
||||||
return kmem_cache_create(zone_name, size, 0, flags, construct);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
kmem_zone_free(kmem_zone_t *zone, void *ptr)
|
kmem_zone_free(kmem_zone_t *zone, void *ptr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2060,8 +2060,9 @@ xfs_buf_delwri_pushbuf(
|
||||||
int __init
|
int __init
|
||||||
xfs_buf_init(void)
|
xfs_buf_init(void)
|
||||||
{
|
{
|
||||||
xfs_buf_zone = kmem_zone_init_flags(sizeof(xfs_buf_t), "xfs_buf",
|
xfs_buf_zone = kmem_cache_create("xfs_buf",
|
||||||
KM_ZONE_HWALIGN, NULL);
|
sizeof(struct xfs_buf), 0,
|
||||||
|
SLAB_HWCACHE_ALIGN, NULL);
|
||||||
if (!xfs_buf_zone)
|
if (!xfs_buf_zone)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
|
|
@ -1211,13 +1211,15 @@ xfs_dqlock2(
|
||||||
int __init
|
int __init
|
||||||
xfs_qm_init(void)
|
xfs_qm_init(void)
|
||||||
{
|
{
|
||||||
xfs_qm_dqzone =
|
xfs_qm_dqzone = kmem_cache_create("xfs_dquot",
|
||||||
kmem_zone_init(sizeof(struct xfs_dquot), "xfs_dquot");
|
sizeof(struct xfs_dquot),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_qm_dqzone)
|
if (!xfs_qm_dqzone)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
xfs_qm_dqtrxzone =
|
xfs_qm_dqtrxzone = kmem_cache_create("xfs_dqtrx",
|
||||||
kmem_zone_init(sizeof(struct xfs_dquot_acct), "xfs_dqtrx");
|
sizeof(struct xfs_dquot_acct),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_qm_dqtrxzone)
|
if (!xfs_qm_dqtrxzone)
|
||||||
goto out_free_dqzone;
|
goto out_free_dqzone;
|
||||||
|
|
||||||
|
|
|
@ -1797,32 +1797,39 @@ MODULE_ALIAS_FS("xfs");
|
||||||
STATIC int __init
|
STATIC int __init
|
||||||
xfs_init_zones(void)
|
xfs_init_zones(void)
|
||||||
{
|
{
|
||||||
xfs_log_ticket_zone = kmem_zone_init(sizeof(xlog_ticket_t),
|
xfs_log_ticket_zone = kmem_cache_create("xfs_log_ticket",
|
||||||
"xfs_log_ticket");
|
sizeof(struct xlog_ticket),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_log_ticket_zone)
|
if (!xfs_log_ticket_zone)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
xfs_bmap_free_item_zone = kmem_zone_init(
|
xfs_bmap_free_item_zone = kmem_cache_create("xfs_bmap_free_item",
|
||||||
sizeof(struct xfs_extent_free_item),
|
sizeof(struct xfs_extent_free_item),
|
||||||
"xfs_bmap_free_item");
|
0, 0, NULL);
|
||||||
if (!xfs_bmap_free_item_zone)
|
if (!xfs_bmap_free_item_zone)
|
||||||
goto out_destroy_log_ticket_zone;
|
goto out_destroy_log_ticket_zone;
|
||||||
|
|
||||||
xfs_btree_cur_zone = kmem_zone_init(sizeof(xfs_btree_cur_t),
|
xfs_btree_cur_zone = kmem_cache_create("xfs_btree_cur",
|
||||||
"xfs_btree_cur");
|
sizeof(struct xfs_btree_cur),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_btree_cur_zone)
|
if (!xfs_btree_cur_zone)
|
||||||
goto out_destroy_bmap_free_item_zone;
|
goto out_destroy_bmap_free_item_zone;
|
||||||
|
|
||||||
xfs_da_state_zone = kmem_zone_init(sizeof(xfs_da_state_t),
|
xfs_da_state_zone = kmem_cache_create("xfs_da_state",
|
||||||
"xfs_da_state");
|
sizeof(struct xfs_da_state),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_da_state_zone)
|
if (!xfs_da_state_zone)
|
||||||
goto out_destroy_btree_cur_zone;
|
goto out_destroy_btree_cur_zone;
|
||||||
|
|
||||||
xfs_ifork_zone = kmem_zone_init(sizeof(struct xfs_ifork), "xfs_ifork");
|
xfs_ifork_zone = kmem_cache_create("xfs_ifork",
|
||||||
|
sizeof(struct xfs_ifork),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_ifork_zone)
|
if (!xfs_ifork_zone)
|
||||||
goto out_destroy_da_state_zone;
|
goto out_destroy_da_state_zone;
|
||||||
|
|
||||||
xfs_trans_zone = kmem_zone_init(sizeof(xfs_trans_t), "xfs_trans");
|
xfs_trans_zone = kmem_cache_create("xf_trans",
|
||||||
|
sizeof(struct xfs_trans),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_trans_zone)
|
if (!xfs_trans_zone)
|
||||||
goto out_destroy_ifork_zone;
|
goto out_destroy_ifork_zone;
|
||||||
|
|
||||||
|
@ -1832,70 +1839,82 @@ xfs_init_zones(void)
|
||||||
* size possible under XFS. This wastes a little bit of memory,
|
* size possible under XFS. This wastes a little bit of memory,
|
||||||
* but it is much faster.
|
* but it is much faster.
|
||||||
*/
|
*/
|
||||||
xfs_buf_item_zone = kmem_zone_init(sizeof(struct xfs_buf_log_item),
|
xfs_buf_item_zone = kmem_cache_create("xfs_buf_item",
|
||||||
"xfs_buf_item");
|
sizeof(struct xfs_buf_log_item),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_buf_item_zone)
|
if (!xfs_buf_item_zone)
|
||||||
goto out_destroy_trans_zone;
|
goto out_destroy_trans_zone;
|
||||||
|
|
||||||
xfs_efd_zone = kmem_zone_init((sizeof(xfs_efd_log_item_t) +
|
xfs_efd_zone = kmem_cache_create("xfs_efd_item",
|
||||||
((XFS_EFD_MAX_FAST_EXTENTS - 1) *
|
(sizeof(struct xfs_efd_log_item) +
|
||||||
sizeof(xfs_extent_t))), "xfs_efd_item");
|
(XFS_EFD_MAX_FAST_EXTENTS - 1) *
|
||||||
|
sizeof(struct xfs_extent)),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_efd_zone)
|
if (!xfs_efd_zone)
|
||||||
goto out_destroy_buf_item_zone;
|
goto out_destroy_buf_item_zone;
|
||||||
|
|
||||||
xfs_efi_zone = kmem_zone_init((sizeof(xfs_efi_log_item_t) +
|
xfs_efi_zone = kmem_cache_create("xfs_efi_item",
|
||||||
((XFS_EFI_MAX_FAST_EXTENTS - 1) *
|
(sizeof(struct xfs_efi_log_item) +
|
||||||
sizeof(xfs_extent_t))), "xfs_efi_item");
|
(XFS_EFI_MAX_FAST_EXTENTS - 1) *
|
||||||
|
sizeof(struct xfs_extent)),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_efi_zone)
|
if (!xfs_efi_zone)
|
||||||
goto out_destroy_efd_zone;
|
goto out_destroy_efd_zone;
|
||||||
|
|
||||||
xfs_inode_zone =
|
xfs_inode_zone = kmem_cache_create("xfs_inode",
|
||||||
kmem_zone_init_flags(sizeof(xfs_inode_t), "xfs_inode",
|
sizeof(struct xfs_inode), 0,
|
||||||
KM_ZONE_HWALIGN | KM_ZONE_RECLAIM | KM_ZONE_SPREAD |
|
(SLAB_HWCACHE_ALIGN |
|
||||||
KM_ZONE_ACCOUNT, xfs_fs_inode_init_once);
|
SLAB_RECLAIM_ACCOUNT |
|
||||||
|
SLAB_MEM_SPREAD | SLAB_ACCOUNT),
|
||||||
|
xfs_fs_inode_init_once);
|
||||||
if (!xfs_inode_zone)
|
if (!xfs_inode_zone)
|
||||||
goto out_destroy_efi_zone;
|
goto out_destroy_efi_zone;
|
||||||
|
|
||||||
xfs_ili_zone =
|
xfs_ili_zone = kmem_cache_create("xfs_ili",
|
||||||
kmem_zone_init_flags(sizeof(xfs_inode_log_item_t), "xfs_ili",
|
sizeof(struct xfs_inode_log_item), 0,
|
||||||
KM_ZONE_SPREAD, NULL);
|
SLAB_MEM_SPREAD, NULL);
|
||||||
if (!xfs_ili_zone)
|
if (!xfs_ili_zone)
|
||||||
goto out_destroy_inode_zone;
|
goto out_destroy_inode_zone;
|
||||||
xfs_icreate_zone = kmem_zone_init(sizeof(struct xfs_icreate_item),
|
|
||||||
"xfs_icr");
|
xfs_icreate_zone = kmem_cache_create("xfs_icr",
|
||||||
|
sizeof(struct xfs_icreate_item),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_icreate_zone)
|
if (!xfs_icreate_zone)
|
||||||
goto out_destroy_ili_zone;
|
goto out_destroy_ili_zone;
|
||||||
|
|
||||||
xfs_rud_zone = kmem_zone_init(sizeof(struct xfs_rud_log_item),
|
xfs_rud_zone = kmem_cache_create("xfs_rud_item",
|
||||||
"xfs_rud_item");
|
sizeof(struct xfs_rud_log_item),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_rud_zone)
|
if (!xfs_rud_zone)
|
||||||
goto out_destroy_icreate_zone;
|
goto out_destroy_icreate_zone;
|
||||||
|
|
||||||
xfs_rui_zone = kmem_zone_init(
|
xfs_rui_zone = kmem_cache_create("xfs_rui_item",
|
||||||
xfs_rui_log_item_sizeof(XFS_RUI_MAX_FAST_EXTENTS),
|
xfs_rui_log_item_sizeof(XFS_RUI_MAX_FAST_EXTENTS),
|
||||||
"xfs_rui_item");
|
0, 0, NULL);
|
||||||
if (!xfs_rui_zone)
|
if (!xfs_rui_zone)
|
||||||
goto out_destroy_rud_zone;
|
goto out_destroy_rud_zone;
|
||||||
|
|
||||||
xfs_cud_zone = kmem_zone_init(sizeof(struct xfs_cud_log_item),
|
xfs_cud_zone = kmem_cache_create("xfs_cud_item",
|
||||||
"xfs_cud_item");
|
sizeof(struct xfs_cud_log_item),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_cud_zone)
|
if (!xfs_cud_zone)
|
||||||
goto out_destroy_rui_zone;
|
goto out_destroy_rui_zone;
|
||||||
|
|
||||||
xfs_cui_zone = kmem_zone_init(
|
xfs_cui_zone = kmem_cache_create("xfs_cui_item",
|
||||||
xfs_cui_log_item_sizeof(XFS_CUI_MAX_FAST_EXTENTS),
|
xfs_cui_log_item_sizeof(XFS_CUI_MAX_FAST_EXTENTS),
|
||||||
"xfs_cui_item");
|
0, 0, NULL);
|
||||||
if (!xfs_cui_zone)
|
if (!xfs_cui_zone)
|
||||||
goto out_destroy_cud_zone;
|
goto out_destroy_cud_zone;
|
||||||
|
|
||||||
xfs_bud_zone = kmem_zone_init(sizeof(struct xfs_bud_log_item),
|
xfs_bud_zone = kmem_cache_create("xfs_bud_item",
|
||||||
"xfs_bud_item");
|
sizeof(struct xfs_bud_log_item),
|
||||||
|
0, 0, NULL);
|
||||||
if (!xfs_bud_zone)
|
if (!xfs_bud_zone)
|
||||||
goto out_destroy_cui_zone;
|
goto out_destroy_cui_zone;
|
||||||
|
|
||||||
xfs_bui_zone = kmem_zone_init(
|
xfs_bui_zone = kmem_cache_create("xfs_bui_item",
|
||||||
xfs_bui_log_item_sizeof(XFS_BUI_MAX_FAST_EXTENTS),
|
xfs_bui_log_item_sizeof(XFS_BUI_MAX_FAST_EXTENTS),
|
||||||
"xfs_bui_item");
|
0, 0, NULL);
|
||||||
if (!xfs_bui_zone)
|
if (!xfs_bui_zone)
|
||||||
goto out_destroy_bud_zone;
|
goto out_destroy_bud_zone;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче