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

Commit 86302820 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds
Browse files

[PATCH] cpumask: uninline highest_possible_processor_id()



Shrinks the only caller (net/bridge/netfilter/ebtables.c) by 174 bytes.

Also, optimise highest_possible_processor_id() out of existence on
CONFIG_SMP=n.

Cc: Paul Jackson <pj@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3d18bd74
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -396,6 +396,12 @@ extern cpumask_t cpu_present_map;
#define cpu_present(cpu)	((cpu) == 0)
#endif

#ifdef CONFIG_SMP
int highest_possible_processor_id(void);
#else
#define highest_possible_processor_id()	0
#endif

#define any_online_cpu(mask)			\
({						\
	int cpu;				\
@@ -409,14 +415,5 @@ extern cpumask_t cpu_present_map;
#define for_each_online_cpu(cpu)  for_each_cpu_mask((cpu), cpu_online_map)
#define for_each_present_cpu(cpu) for_each_cpu_mask((cpu), cpu_present_map)

/* Find the highest possible smp_processor_id() */
#define highest_possible_processor_id() \
({ \
	unsigned int cpu, highest = 0; \
	for_each_cpu_mask(cpu, cpu_possible_map) \
		highest = cpu; \
	highest; \
})


#endif /* __LINUX_CPUMASK_H */
+17 −0
Original line number Diff line number Diff line
@@ -14,3 +14,20 @@ int __next_cpu(int n, const cpumask_t *srcp)
	return min_t(int, NR_CPUS, find_next_bit(srcp->bits, NR_CPUS, n+1));
}
EXPORT_SYMBOL(__next_cpu);

/*
 * Find the highest possible smp_processor_id()
 *
 * Note: if we're prepared to assume that cpu_possible_map never changes
 * (reasonable) then this function should cache its return value.
 */
int highest_possible_processor_id(void)
{
	unsigned int cpu;
	unsigned highest = 0;

	for_each_cpu_mask(cpu, cpu_possible_map)
		highest = cpu;
	return highest;
}
EXPORT_SYMBOL(highest_possible_processor_id);