1. 04 Jan, 2006 1 commit
  2. 16 Dec, 2005 1 commit
    • Jack Steiner's avatar
      [IA64-SGI] Missed TLB flush · d74700e6
      Jack Steiner authored
      
      
      I see why the problem exists only on SN. SN uses a different hardware
      mechanism to purge TLB entries across nodes.
      
      It looks like there is a bug in the SN TLB flushing code. During context switch,
      kernel threads inherit the mm of the task that was previously running on the
      cpu. This confuses the code in sn2_global_tlb_purge().
      
      The result is a missed TLB purge for the task that owns the "borrowed" mm.
      
      (I hit the problem running heavy stress where kswapd was purging code pages of
      a user task that woke kswapd. The user task took a SIGILL fault trying to
      execute code in the page that had been ripped out from underneath it).
      Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      d74700e6
  3. 06 Dec, 2005 2 commits
  4. 21 Nov, 2005 3 commits
  5. 11 Nov, 2005 1 commit
    • Mark Maule's avatar
      [IA64-SGI] set altix preferred console · ff51224c
      Mark Maule authored
      
      
      Fix default VGA console on SN platforms.  Since SN firmware does not pass
      enough ACPI information to identify VGA cards and the associated legacy IO/MEM
      addresses, we rely on the EFI PCDP table.  Since the linux pcdp driver is
      optional (and overridden if console= directives are used) SN duplicates a
      portion of the pcdp scan code to identify if there is a usable console VGA
      adapter.  Additionally, dup necessary pcdp related structs to avoid dragging
      drivers/pcdp.h into a more public location.
      Signed-off-by: default avatarMark Maule <maule@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      ff51224c
  6. 10 Nov, 2005 2 commits
  7. 28 Oct, 2005 1 commit
  8. 27 Oct, 2005 1 commit
    • Dean Roe's avatar
      [IA64] - Avoid slow TLB purges on SGI Altix systems · c1902aae
      Dean Roe authored
      
      
      flush_tlb_all() can be a scaling issue on large SGI Altix systems
      since it uses the global call_lock and always executes on all cpus.
      When a process enters flush_tlb_range() to purge TLBs for another
      process, it is possible to avoid flush_tlb_all() and instead allow
      sn2_global_tlb_purge() to purge TLBs only where necessary.
      
      This patch modifies flush_tlb_range() so that this case can be handled
      by platform TLB purge functions and updates ia64_global_tlb_purge()
      accordingly.  sn2_global_tlb_purge() now calculates the region register
      value from the mm argument introduced with this patch.
      Signed-off-by: default avatarDean Roe <roe@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      c1902aae
  9. 25 Oct, 2005 4 commits
  10. 15 Sep, 2005 1 commit
    • Jack Steiner's avatar
      [IA64] Cleanup use of various #defines related to nodes · 24ee0a6d
      Jack Steiner authored
      
      
      Some of the SN code & #defines related to compact nodes & IO discovery
      have gotten stale over the years. This patch attempts to clean them up.
      Some of the various SN MAX_xxx #defines were also unclear & misused.
      
      The primary changes are:
      
      	- use MAX_NUMNODES. This is the generic linux #define for the number
      	  of nodes that are known to the generic kernel. Arrays & loops
      	  for constructs that are 1:1 with linux-defined nodes should
      	  use the linux #define - not an SN equivalent.
      
      	- use MAX_COMPACT_NODES for MAX_NUMNODES + NUM_TIOS. This is the
      	  number of nodes in the SSI system. Compact nodes are a hack to
      	  get around the IA64 architectural limit of 256 nodes. Large SGI
      	  systems have more than 256 nodes. When we upgrade to ACPI3.0,
      	  I _hope_ that all nodes will be real nodes that are known to
      	  the generic kernel. That will allow us to delete the notion
      	  of "compact nodes".
      
      	- add MAX_NUMALINK_NODES for the total number of nodes that
      	  are in the numalink domain - all partitions.
      
      	- simplified (understandable) scan_for_ionodes()
      
      	- small amount of cleanup related to cnodes
      Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      24ee0a6d
  11. 09 Sep, 2005 1 commit
  12. 08 Sep, 2005 2 commits
  13. 07 Sep, 2005 1 commit
  14. 06 Sep, 2005 2 commits
  15. 31 Aug, 2005 1 commit
  16. 26 Aug, 2005 2 commits
  17. 25 Aug, 2005 1 commit
  18. 24 Aug, 2005 4 commits
  19. 17 Aug, 2005 6 commits
  20. 16 Aug, 2005 2 commits
  21. 11 Aug, 2005 1 commit