Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: exit signals: use of uninitialized field notify_count lockdep: fix invalid list_del_rcu in zap_class lockstat: repair erronous contention statistics lockstat: fix numerical output rounding error
This commit is contained in:
Коммит
66833d5f39
|
@ -918,8 +918,8 @@ static void exit_notify(struct task_struct *tsk, int group_dead)
|
|||
|
||||
/* mt-exec, de_thread() is waiting for us */
|
||||
if (thread_group_leader(tsk) &&
|
||||
tsk->signal->notify_count < 0 &&
|
||||
tsk->signal->group_exit_task)
|
||||
tsk->signal->group_exit_task &&
|
||||
tsk->signal->notify_count < 0)
|
||||
wake_up_process(tsk->signal->group_exit_task);
|
||||
|
||||
write_unlock_irq(&tasklist_lock);
|
||||
|
|
|
@ -875,11 +875,11 @@ static int add_lock_to_list(struct lock_class *class, struct lock_class *this,
|
|||
if (!entry)
|
||||
return 0;
|
||||
|
||||
entry->class = this;
|
||||
entry->distance = distance;
|
||||
if (!save_trace(&entry->trace))
|
||||
return 0;
|
||||
|
||||
entry->class = this;
|
||||
entry->distance = distance;
|
||||
/*
|
||||
* Since we never remove from the dependency list, the list can
|
||||
* be walked lockless by other CPUs, it's only allocation
|
||||
|
@ -3029,7 +3029,7 @@ found_it:
|
|||
|
||||
stats = get_lock_stats(hlock_class(hlock));
|
||||
if (point < ARRAY_SIZE(stats->contention_point))
|
||||
stats->contention_point[i]++;
|
||||
stats->contention_point[point]++;
|
||||
if (lock->cpu != smp_processor_id())
|
||||
stats->bounces[bounce_contended + !!hlock->read]++;
|
||||
put_lock_stats(stats);
|
||||
|
|
|
@ -472,8 +472,9 @@ static void snprint_time(char *buf, size_t bufsiz, s64 nr)
|
|||
{
|
||||
unsigned long rem;
|
||||
|
||||
nr += 5; /* for display rounding */
|
||||
rem = do_div(nr, 1000); /* XXX: do_div_signed */
|
||||
snprintf(buf, bufsiz, "%lld.%02d", (long long)nr, ((int)rem+5)/10);
|
||||
snprintf(buf, bufsiz, "%lld.%02d", (long long)nr, (int)rem/10);
|
||||
}
|
||||
|
||||
static void seq_time(struct seq_file *m, s64 time)
|
||||
|
|
Загрузка…
Ссылка в новой задаче