Re: BUG_ON(!cpus_equal(cpumask, tmp));

Randy.Dunlap
2004-03-30T23:20:48Z

On Tue, 30 Mar 2004 18:58:32 +0530 Hariprasad Nellitheertha wrote:

| Hello Andrew,
|
| We faced this problem starting 2.6.3 while working on kexec.
|
| The problem is because we now initialize cpu_vm_mask for init_mm with
| CPU_MASK_ALL (from 2.6.3 onwards) which makes all bits in cpumask 1 (on SMP).
| Hence BUG_ON(!cpus_equal(cpumask,tmp) fails. The change to set
| cpu_vm_mask to CPU_MASK_ALL was done to remove tlb flush optimizations
| for ppc64.
|
| I had posted a patch for this in the earlier thread. Reposting the same
| here. This patch removes the assertion and uses "tmp" instead of cpumask.
| Otherwise, we will end up sending IPIs to offline CPUs as well.
|
| Comments please.

I'll just say that kexec fails without this patch and works with
it applied, so I'd like to see it merged. If this patch isn't
acceptable, let's find out why and try to make one that is.

Thanks for the patch, Hari.

--
~Randy
"You can't do anything without having to do something else first."
-- Belefant's Law