mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 10:37:35 +03:00
Remove shrink_{i,d}node_cache() wrappers
This is optional functionality which may or may not be useful to ZFS when using older kernels. It is never a hard requirement. Therefore this functionality is being removed from the SPL and a simpler slimmed down version will be added to ZFS. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
@@ -35,102 +35,6 @@ struct shrink_control {
|
||||
};
|
||||
#endif /* HAVE_SHRINK_CONTROL_STRUCT */
|
||||
|
||||
/*
|
||||
* 2.6.xx API compat,
|
||||
* There currently exists no exposed API to partially shrink the dcache.
|
||||
* The expected mechanism to shrink the cache is a registered shrinker
|
||||
* which is called during memory pressure.
|
||||
*/
|
||||
#ifndef HAVE_SHRINK_DCACHE_MEMORY
|
||||
# if defined(HAVE_SHRINK_CONTROL_STRUCT)
|
||||
typedef int (*shrink_dcache_memory_t)(struct shrinker *,
|
||||
struct shrink_control *);
|
||||
extern shrink_dcache_memory_t shrink_dcache_memory_fn;
|
||||
# define shrink_dcache_memory(nr, gfp) \
|
||||
({ \
|
||||
struct shrink_control sc = { .nr_to_scan = nr, .gfp_mask = gfp }; \
|
||||
int __ret__ = 0; \
|
||||
\
|
||||
if (shrink_dcache_memory_fn) \
|
||||
__ret__ = shrink_dcache_memory_fn(NULL, &sc); \
|
||||
\
|
||||
__ret__; \
|
||||
})
|
||||
# elif defined(HAVE_3ARGS_SHRINKER_CALLBACK)
|
||||
typedef int (*shrink_dcache_memory_t)(struct shrinker *, int, gfp_t);
|
||||
extern shrink_dcache_memory_t shrink_dcache_memory_fn;
|
||||
# define shrink_dcache_memory(nr, gfp) \
|
||||
({ \
|
||||
int __ret__ = 0; \
|
||||
\
|
||||
if (shrink_dcache_memory_fn) \
|
||||
__ret__ = shrink_dcache_memory_fn(NULL, nr, gfp); \
|
||||
\
|
||||
__ret__; \
|
||||
})
|
||||
# else
|
||||
typedef int (*shrink_dcache_memory_t)(int, gfp_t);
|
||||
extern shrink_dcache_memory_t shrink_dcache_memory_fn;
|
||||
# define shrink_dcache_memory(nr, gfp) \
|
||||
({ \
|
||||
int __ret__ = 0; \
|
||||
\
|
||||
if (shrink_dcache_memory_fn) \
|
||||
__ret__ = shrink_dcache_memory_fn(nr, gfp); \
|
||||
\
|
||||
__ret__; \
|
||||
})
|
||||
# endif /* HAVE_3ARGS_SHRINKER_CALLBACK */
|
||||
#endif /* HAVE_SHRINK_DCACHE_MEMORY */
|
||||
|
||||
/*
|
||||
* 2.6.xx API compat,
|
||||
* There currently exists no exposed API to partially shrink the icache.
|
||||
* The expected mechanism to shrink the cache is a registered shrinker
|
||||
* which is called during memory pressure.
|
||||
*/
|
||||
#ifndef HAVE_SHRINK_ICACHE_MEMORY
|
||||
# if defined(HAVE_SHRINK_CONTROL_STRUCT)
|
||||
typedef int (*shrink_icache_memory_t)(struct shrinker *,
|
||||
struct shrink_control *);
|
||||
extern shrink_icache_memory_t shrink_icache_memory_fn;
|
||||
# define shrink_icache_memory(nr, gfp) \
|
||||
({ \
|
||||
struct shrink_control sc = { .nr_to_scan = nr, .gfp_mask = gfp }; \
|
||||
int __ret__ = 0; \
|
||||
\
|
||||
if (shrink_icache_memory_fn) \
|
||||
__ret__ = shrink_icache_memory_fn(NULL, &sc); \
|
||||
\
|
||||
__ret__; \
|
||||
})
|
||||
# elif defined(HAVE_3ARGS_SHRINKER_CALLBACK)
|
||||
typedef int (*shrink_icache_memory_t)(struct shrinker *, int, gfp_t);
|
||||
extern shrink_icache_memory_t shrink_icache_memory_fn;
|
||||
# define shrink_icache_memory(nr, gfp) \
|
||||
({ \
|
||||
int __ret__ = 0; \
|
||||
\
|
||||
if (shrink_icache_memory_fn) \
|
||||
__ret__ = shrink_icache_memory_fn(NULL, nr, gfp); \
|
||||
\
|
||||
__ret__; \
|
||||
})
|
||||
# else
|
||||
typedef int (*shrink_icache_memory_t)(int, gfp_t);
|
||||
extern shrink_icache_memory_t shrink_icache_memory_fn;
|
||||
# define shrink_icache_memory(nr, gfp) \
|
||||
({ \
|
||||
int __ret__ = 0; \
|
||||
\
|
||||
if (shrink_icache_memory_fn) \
|
||||
__ret__ = shrink_icache_memory_fn(nr, gfp); \
|
||||
\
|
||||
__ret__; \
|
||||
})
|
||||
# endif /* HAVE_3ARGS_SHRINKER_CALLBACK */
|
||||
#endif /* HAVE_SHRINK_ICACHE_MEMORY */
|
||||
|
||||
/*
|
||||
* Due to frequent changes in the shrinker API the following
|
||||
* compatibility wrappers should be used. They are as follows:
|
||||
|
||||
Reference in New Issue
Block a user