percpu_counter: add @gfp to percpu_counter_init()
Percpu allocator now supports allocation mask. Add @gfp to percpu_counter_init() so that !GFP_KERNEL allocation masks can be used with percpu_counters too. We could have left percpu_counter_init() alone and added percpu_counter_init_gfp(); however, the number of users isn't that high and introducing _gfp variants to all percpu data structures would be quite ugly, so let's just do the conversion. This is the one with the most users. Other percpu data structures are a lot easier to convert. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Jan Kara <jack@suse.cz> Acked-by: "David S. Miller" <davem@davemloft.net> Cc: x86@kernel.org Cc: Jens Axboe <axboe@kernel.dk> Cc: "Theodore Ts'o" <tytso@mit.edu> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include <linux/threads.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/gfp.h>
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
@@ -26,14 +27,14 @@ struct percpu_counter {
|
||||
|
||||
extern int percpu_counter_batch;
|
||||
|
||||
int __percpu_counter_init(struct percpu_counter *fbc, s64 amount,
|
||||
int __percpu_counter_init(struct percpu_counter *fbc, s64 amount, gfp_t gfp,
|
||||
struct lock_class_key *key);
|
||||
|
||||
#define percpu_counter_init(fbc, value) \
|
||||
#define percpu_counter_init(fbc, value, gfp) \
|
||||
({ \
|
||||
static struct lock_class_key __key; \
|
||||
\
|
||||
__percpu_counter_init(fbc, value, &__key); \
|
||||
__percpu_counter_init(fbc, value, gfp, &__key); \
|
||||
})
|
||||
|
||||
void percpu_counter_destroy(struct percpu_counter *fbc);
|
||||
@@ -89,7 +90,8 @@ struct percpu_counter {
|
||||
s64 count;
|
||||
};
|
||||
|
||||
static inline int percpu_counter_init(struct percpu_counter *fbc, s64 amount)
|
||||
static inline int percpu_counter_init(struct percpu_counter *fbc, s64 amount,
|
||||
gfp_t gfp)
|
||||
{
|
||||
fbc->count = amount;
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user