rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro
We can simplify KFREE_BULK_MAX_ENTR macro and get rid of magic numbers which were used to make the structure to be exactly one page. Suggested-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
committed by
Paul E. McKenney
parent
446044eb9c
commit
3af8486281
@ -2958,13 +2958,6 @@ EXPORT_SYMBOL_GPL(call_rcu);
|
|||||||
#define KFREE_DRAIN_JIFFIES (HZ / 50)
|
#define KFREE_DRAIN_JIFFIES (HZ / 50)
|
||||||
#define KFREE_N_BATCHES 2
|
#define KFREE_N_BATCHES 2
|
||||||
|
|
||||||
/*
|
|
||||||
* This macro defines how many entries the "records" array
|
|
||||||
* will contain. It is based on the fact that the size of
|
|
||||||
* kfree_rcu_bulk_data structure becomes exactly one page.
|
|
||||||
*/
|
|
||||||
#define KFREE_BULK_MAX_ENTR ((PAGE_SIZE / sizeof(void *)) - 3)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct kfree_rcu_bulk_data - single block to store kfree_rcu() pointers
|
* struct kfree_rcu_bulk_data - single block to store kfree_rcu() pointers
|
||||||
* @nr_records: Number of active pointers in the array
|
* @nr_records: Number of active pointers in the array
|
||||||
@ -2973,10 +2966,18 @@ EXPORT_SYMBOL_GPL(call_rcu);
|
|||||||
*/
|
*/
|
||||||
struct kfree_rcu_bulk_data {
|
struct kfree_rcu_bulk_data {
|
||||||
unsigned long nr_records;
|
unsigned long nr_records;
|
||||||
void *records[KFREE_BULK_MAX_ENTR];
|
|
||||||
struct kfree_rcu_bulk_data *next;
|
struct kfree_rcu_bulk_data *next;
|
||||||
|
void *records[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This macro defines how many entries the "records" array
|
||||||
|
* will contain. It is based on the fact that the size of
|
||||||
|
* kfree_rcu_bulk_data structure becomes exactly one page.
|
||||||
|
*/
|
||||||
|
#define KFREE_BULK_MAX_ENTR \
|
||||||
|
((PAGE_SIZE - sizeof(struct kfree_rcu_bulk_data)) / sizeof(void *))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct kfree_rcu_cpu_work - single batch of kfree_rcu() requests
|
* struct kfree_rcu_cpu_work - single batch of kfree_rcu() requests
|
||||||
* @rcu_work: Let queue_rcu_work() invoke workqueue handler after grace period
|
* @rcu_work: Let queue_rcu_work() invoke workqueue handler after grace period
|
||||||
|
Reference in New Issue
Block a user