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

Commit 50fbe56c authored by Tony Luck's avatar Tony Luck Committed by Tony Luck
Browse files

Pull cpumask into release branch

parents 15f7176e 5d8c39f6
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -87,7 +87,7 @@ get_mmu_context (struct mm_struct *mm)
	/* re-check, now that we've got the lock: */
	/* re-check, now that we've got the lock: */
	context = mm->context;
	context = mm->context;
	if (context == 0) {
	if (context == 0) {
		cpus_clear(mm->cpu_vm_mask);
		cpumask_clear(mm_cpumask(mm));
		if (ia64_ctx.next >= ia64_ctx.limit) {
		if (ia64_ctx.next >= ia64_ctx.limit) {
			ia64_ctx.next = find_next_zero_bit(ia64_ctx.bitmap,
			ia64_ctx.next = find_next_zero_bit(ia64_ctx.bitmap,
					ia64_ctx.max_ctx, ia64_ctx.next);
					ia64_ctx.max_ctx, ia64_ctx.next);
@@ -166,8 +166,8 @@ activate_context (struct mm_struct *mm)


	do {
	do {
		context = get_mmu_context(mm);
		context = get_mmu_context(mm);
		if (!cpu_isset(smp_processor_id(), mm->cpu_vm_mask))
		if (!cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm)))
			cpu_set(smp_processor_id(), mm->cpu_vm_mask);
			cpumask_set_cpu(smp_processor_id(), mm_cpumask(mm));
		reload_context(context);
		reload_context(context);
		/*
		/*
		 * in the unlikely event of a TLB-flush by another thread,
		 * in the unlikely event of a TLB-flush by another thread,
+2 −1
Original line number Original line Diff line number Diff line
@@ -126,7 +126,8 @@ extern void identify_siblings (struct cpuinfo_ia64 *);
extern int is_multithreading_enabled(void);
extern int is_multithreading_enabled(void);


extern void arch_send_call_function_single_ipi(int cpu);
extern void arch_send_call_function_single_ipi(int cpu);
extern void arch_send_call_function_ipi(cpumask_t mask);
extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
#define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask


#else /* CONFIG_SMP */
#else /* CONFIG_SMP */


+0 −5
Original line number Original line Diff line number Diff line
@@ -112,11 +112,6 @@ void build_cpu_to_node_map(void);


extern void arch_fix_phys_package_id(int num, u32 slot);
extern void arch_fix_phys_package_id(int num, u32 slot);


#define pcibus_to_cpumask(bus)	(pcibus_to_node(bus) == -1 ? \
					CPU_MASK_ALL : \
					node_to_cpumask(pcibus_to_node(bus)) \
				)

#define cpumask_of_pcibus(bus)	(pcibus_to_node(bus) == -1 ?		\
#define cpumask_of_pcibus(bus)	(pcibus_to_node(bus) == -1 ?		\
				 cpu_all_mask :				\
				 cpu_all_mask :				\
				 cpumask_of_node(pcibus_to_node(bus)))
				 cpumask_of_node(pcibus_to_node(bus)))
+4 −4
Original line number Original line Diff line number Diff line
@@ -890,7 +890,7 @@ __init void prefill_possible_map(void)
		possible, max((possible - available_cpus), 0));
		possible, max((possible - available_cpus), 0));


	for (i = 0; i < possible; i++)
	for (i = 0; i < possible; i++)
		cpu_set(i, cpu_possible_map);
		set_cpu_possible(i, true);
}
}


int acpi_map_lsapic(acpi_handle handle, int *pcpu)
int acpi_map_lsapic(acpi_handle handle, int *pcpu)
@@ -928,9 +928,9 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu)
	buffer.length = ACPI_ALLOCATE_BUFFER;
	buffer.length = ACPI_ALLOCATE_BUFFER;
	buffer.pointer = NULL;
	buffer.pointer = NULL;


	cpus_complement(tmp_map, cpu_present_map);
	cpumask_complement(&tmp_map, cpu_present_mask);
	cpu = first_cpu(tmp_map);
	cpu = cpumask_first(&tmp_map);
	if (cpu >= NR_CPUS)
	if (cpu >= nr_cpu_ids)
		return -EINVAL;
		return -EINVAL;


	acpi_map_cpu2node(handle, cpu, physid);
	acpi_map_cpu2node(handle, cpu, physid);
+3 −3
Original line number Original line Diff line number Diff line
@@ -1456,9 +1456,9 @@ ia64_mca_cmc_int_caller(int cmc_irq, void *arg)


	ia64_mca_cmc_int_handler(cmc_irq, arg);
	ia64_mca_cmc_int_handler(cmc_irq, arg);


	for (++cpuid ; cpuid < NR_CPUS && !cpu_online(cpuid) ; cpuid++);
	cpuid = cpumask_next(cpuid+1, cpu_online_mask);


	if (cpuid < NR_CPUS) {
	if (cpuid < nr_cpu_ids) {
		platform_send_ipi(cpuid, IA64_CMCP_VECTOR, IA64_IPI_DM_INT, 0);
		platform_send_ipi(cpuid, IA64_CMCP_VECTOR, IA64_IPI_DM_INT, 0);
	} else {
	} else {
		/* If no log record, switch out of polling mode */
		/* If no log record, switch out of polling mode */
@@ -1525,7 +1525,7 @@ ia64_mca_cpe_int_caller(int cpe_irq, void *arg)


	ia64_mca_cpe_int_handler(cpe_irq, arg);
	ia64_mca_cpe_int_handler(cpe_irq, arg);


	for (++cpuid ; cpuid < NR_CPUS && !cpu_online(cpuid) ; cpuid++);
	cpuid = cpumask_next(cpuid+1, cpu_online_mask);


	if (cpuid < NR_CPUS) {
	if (cpuid < NR_CPUS) {
		platform_send_ipi(cpuid, IA64_CPEP_VECTOR, IA64_IPI_DM_INT, 0);
		platform_send_ipi(cpuid, IA64_CPEP_VECTOR, IA64_IPI_DM_INT, 0);
Loading