LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* preempt bug in set_pmd_pfn?
@ 2008-03-04 21:13 Jeremy Fitzhardinge
  2008-03-04 21:28 ` Ingo Molnar
  2008-03-05  0:06 ` Andi Kleen
  0 siblings, 2 replies; 17+ messages in thread
From: Jeremy Fitzhardinge @ 2008-03-04 21:13 UTC (permalink / raw)
  To: Ingo Molnar, H. Peter Anvin, Andi Kleen; +Cc: Linux Kernel Mailing List

I think set_pmd_pfn, which is only called by __set_fixmap, might have a 
preempt bug in it.

It can be executed with preemption enabled, but what if it gets preempted

	set_pmd(pmd, pfn_pmd(pfn, flags));
	/*
	 * It's enough to flush this one mapping.
	 * (PGE mappings get flushed as well)
	 */
>here<
	__flush_tlb_one(vaddr);
}

?


Won't this leave a stale tlb on the old processor?

I noticed this because the Xen tlb flushing code effectively has a 
smp_processor_id(), which provokes a warning when preemption is 
enabled.  It seems to me that it never makes sense to be doing a tlb 
flush unless you know which processor you're actually running on...

    J

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2008-03-06 18:25 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-04 21:13 preempt bug in set_pmd_pfn? Jeremy Fitzhardinge
2008-03-04 21:28 ` Ingo Molnar
2008-03-04 21:27   ` Jeremy Fitzhardinge
2008-03-05  6:48     ` Ingo Molnar
2008-03-05 14:29       ` Hugh Dickins
2008-03-05 16:48         ` Jeremy Fitzhardinge
2008-03-05 17:38           ` Hugh Dickins
2008-03-05 19:18             ` Jeremy Fitzhardinge
2008-03-05 20:40               ` Hugh Dickins
2008-03-06 12:52               ` Ingo Molnar
2008-03-06 18:19                 ` Jeremy Fitzhardinge
2008-03-05 16:45       ` Jeremy Fitzhardinge
2008-03-05  0:06 ` Andi Kleen
2008-03-05  0:07   ` Jeremy Fitzhardinge
2008-03-05  0:16     ` Andi Kleen
2008-03-05  0:19       ` Jeremy Fitzhardinge
2008-03-05  1:28         ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).