linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Comments on UV tlb flushing
@ 2008-07-29  0:28 Jeremy Fitzhardinge
  2008-07-29  4:12 ` Nick Piggin
  0 siblings, 1 reply; 12+ messages in thread
From: Jeremy Fitzhardinge @ 2008-07-29  0:28 UTC (permalink / raw)
  To: Cliff Wickman; +Cc: Ingo Molnar, Linux Kernel Mailing List

I'm just reworking the x86 tlb code to use smp_call_function_mask, and I 
see how the UV tlb flushing hooks in.  A few things occur to me:

   1. There should be a CONFIG_X86_UV to select this code.  tlb_uv.o is
      around 6k, which is not trivial overhead to subject every x86_64
      kernel to.
   2. CONFIG_X86_UV should either depend on or select CONFIG_PARAVIRT.
   3. You should hook into paravirt_ops to enable your tlb-flush code. 
      That is, in - say - uv_bau_init() you do
      "pv_mmu_ops.flush_tlb_others = uv_flush_tlb_others".  This removes
      a test/branch in the generic code.  Using paravirt_ops may open
      other opportunities to put UV-optimised functions in place without
      having to modify generic code.

My understanding is that the UV hardware has some kind of 
payload-carrying IPI mechanism, which is a capability could be useful to 
express in a higher-level way in the kernel.  Certainly I could imagine 
using it in a virtual environment as a way to do inter-VCPU messaging 
with less context switch overhead.

Thanks,
    J

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

end of thread, other threads:[~2008-07-29 20:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-29  0:28 Comments on UV tlb flushing Jeremy Fitzhardinge
2008-07-29  4:12 ` Nick Piggin
2008-07-29  6:26   ` Jeremy Fitzhardinge
2008-07-29 13:32   ` Cliff Wickman
2008-07-29 14:43     ` Jeremy Fitzhardinge
2008-07-29 17:34       ` Cliff Wickman
2008-07-29 17:46         ` Jeremy Fitzhardinge
2008-07-29 20:04           ` Cliff Wickman
2008-07-29 18:13       ` Yinghai Lu
2008-07-29 18:25         ` Jeremy Fitzhardinge
2008-07-29 18:45           ` Mike Travis
2008-07-29 19:12             ` Jeremy Fitzhardinge

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).