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

Commit 9741b309 authored by Robert Richter's avatar Robert Richter
Browse files

oprofile: simplify add_sample()



This patch removes add_us_sample() and simplifies add_sample(). Code
is much more readable now.

Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
parent d45d23be
Loading
Loading
Loading
Loading
+19 −20
Original line number Original line Diff line number Diff line
@@ -392,11 +392,29 @@ static void add_sample_entry(unsigned long offset, unsigned long event)
}
}




static int add_us_sample(struct mm_struct *mm, struct op_sample *s)
/*
 * Add a sample to the global event buffer. If possible the
 * sample is converted into a persistent dentry/offset pair
 * for later lookup from userspace. Return 0 on failure.
 */
static int
add_sample(struct mm_struct *mm, struct op_sample *s, int in_kernel)
{
{
	unsigned long cookie;
	unsigned long cookie;
	off_t offset;
	off_t offset;


	if (in_kernel) {
		add_sample_entry(s->eip, s->event);
		return 1;
	}

	/* add userspace sample */

	if (!mm) {
		atomic_inc(&oprofile_stats.sample_lost_no_mm);
		return 0;
	}

	cookie = lookup_dcookie(mm, s->eip, &offset);
	cookie = lookup_dcookie(mm, s->eip, &offset);


	if (cookie == INVALID_COOKIE) {
	if (cookie == INVALID_COOKIE) {
@@ -415,25 +433,6 @@ static int add_us_sample(struct mm_struct *mm, struct op_sample *s)
}
}




/* Add a sample to the global event buffer. If possible the
 * sample is converted into a persistent dentry/offset pair
 * for later lookup from userspace.
 */
static int
add_sample(struct mm_struct *mm, struct op_sample *s, int in_kernel)
{
	if (in_kernel) {
		add_sample_entry(s->eip, s->event);
		return 1;
	} else if (mm) {
		return add_us_sample(mm, s);
	} else {
		atomic_inc(&oprofile_stats.sample_lost_no_mm);
	}
	return 0;
}


static void release_mm(struct mm_struct *mm)
static void release_mm(struct mm_struct *mm)
{
{
	if (!mm)
	if (!mm)