Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66833d5f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'core-fixes-for-linus' of...

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
parents 0234bf1d 2633f0e5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -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);
+2 −1
Original line number Diff line number Diff line
@@ -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)