Messages in this thread Patch in this message | | | From | tom.leiming@gmail ... | Subject | [tip:core/locking 2/3] lockdep:define preallocated "stack" for BFS as per cpu variable | Date | Wed, 22 Jul 2009 20:58:32 +0800 |
| |
From: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Ming Lei <tom.leiming@gmail.com> --- kernel/lockdep.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 1b1796a..1583439 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c @@ -847,7 +847,7 @@ struct circular_queue { unsigned int front, rear; }; -static struct circular_queue lock_cq; +static DEFINE_PER_CPU(struct circular_queue, lock_cq); unsigned int max_bfs_queue_depth; @@ -937,7 +937,7 @@ static int __bfs(struct lock_list *source_entry, { struct lock_list *entry; struct list_head *head; - struct circular_queue *cq = &lock_cq; + struct circular_queue *cq = &get_cpu_var(lock_cq); int ret = 1; if (match(source_entry, data)) { @@ -993,6 +993,7 @@ static int __bfs(struct lock_list *source_entry, } } exit: + put_cpu_var(lock_cq); return ret; } -- 1.6.0.GIT
| |