31 Mar, 2011

1 commit


13 Mar, 2010

1 commit


16 Dec, 2009

11 commits

  • Update the version number of the GRU driver.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Update the TLB dropin statistics kept for each GRU context. Count TLB
    dropins separate from the misses - some misses do not result in a TLB
    dropin. Some of the diagnostics need both counts.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Fix a race where an interrupt could be received for a GRU context that has
    been deallocated.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add anticipatory TLB dropins for GRU TLB misses that occur on BCOPY
    instructions that copy large amounts of data.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add additional GRU statistics & debug messages.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Update the GRU irq allocate/free functions to use the latest upstream
    infrastructure.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Increase the maximum address supported by the SGI GRU driver to a full 64
    bits. Note that GRU addresses are not always the same as socket virtual
    addresses. Sockets may not necessarily support the full 64 bits.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • This patch builds on the infrastructure introduced in the patches that
    allow user specification of GRU blades & chiplets for context allocation.

    This patch simplifies the algorithms for migrating GRU contexts between
    blades.

    No new functionality is introduced.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add support to the GRU driver to allow users to specify the blade &
    chiplet for allocation of GRU contexts. Add new statistics for context
    loading/unloading/retargeting. Also deleted a few GRU stats that were no
    longer being unused.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add table & user request infrastructure that is needed to allow users to
    specify the blade and chiplet for allocation of GRU contexts. Use of this
    information is in a subsequent patch.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • The BIOS has decided to store a pointer to the partition reserved page in
    a scratch MMR. The GRU is only able to read an MMR using a vload
    instruction. The gru_read_gpa() function will implemented.

    Signed-off-by: Robin Holt
    Signed-off-by: Jack Steiner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     

28 Sep, 2009

1 commit


19 Jun, 2009

14 commits

  • Add a user request to specify the gru instruction slice parameter for user
    contexts.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Change the user GRU request for specifying the "task_slice" option to use
    a generic infrastructure that can be expanded in the future to include
    additional context options. No new capabilities are added with this
    patch.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Collect GRU statistics for each user GRU context. Statistics are kept for
    TLB misses & content resource contention. Add user request for retrieving
    the statistics.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add user function to explicitly unload GRU kernel contexts from the GRU.
    Only contexts that are not in-use will be unloaded.

    This function is primarily for testing. It is not expected that this will
    be used in normal production systems.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Fix two problems related to GRU instruction failures. Cache coherency is
    not maintained for CBEs except when loading or unloading contexts. When
    reading a CBE to extract error information, the CBE must first be flushed
    from the cache.

    The function that reads kerrnel CBEs was reading the wrong CBE.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Update GRU driver to the latest version of the GRU spec. This consists
    of minor updates:
    - changes & additions to error status bits
    - new restriction on handling of TLB misses while in FMM mode
    - new field (not used by software) in TFH

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Change the kernel self tests that can be optionally executed on GRU
    initialization. This is primarily for testing.

    Eliminate the BUG statements on failure and return bad status. Add ioctl
    interface to execute the tests on demand.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add support for interrupts generated by GRU instruction completion.
    Previously, the only interrupts were for TLB misses. The hardware also
    supports interrupts on instruction completion. This will be supported for
    instructions issued by the kernel.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Check whether the gru state being loaded into a gru is from a new context
    or a previously unloaded context. If new, simply zero out the hardware
    context; if unloaded and valid, reload the old state.

    This change is primarily for reloading kernel contexts where the previous
    is not required to be saved.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Change the way GRU resources are assigned for kernel threads. GRU
    contexts for kernel threads are now allocated on demand and can be stolen
    by user processes when idle. This allows MPI jobs to use ALL of the GRU
    resources when the kernel is not using them.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Remove "static" from the functions for loading/unloading GRU contexts.
    These functions will be called from other GRU files. Fix bug in unlocking
    gru context.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Change the interface to gru_alloc_gts() so that it can be used to allocate
    GRU contexts for kernel threads. Kernel threads do not have vdata
    structures for the GRU contexts. The GRU resource count are now passed
    explicitly instead of inside the vdata structure.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add support for dumpping the state of an entire GRU chiplet.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Bug fixes for GRU exception handling. Additional fields from the CBR must
    be returned to the user to allow the user to correctly diagnose GRU
    exceptions.

    Handle endcase in TFH TLB miss handling. Verify that TFH actually
    indicates a pending exception.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     

03 Apr, 2009

7 commits


13 Aug, 2008

1 commit

  • Fix preprocessor symbol so that sparse sees it and does not generate
    errors:

    drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
    drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
    drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
    drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
    drivers/misc/sgi-gru/grutlbpurge.c:185:11: error: undefined identifier 'GRUREGION'
    drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
    drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"

    Signed-off-by: Randy Dunlap
    Cc: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

31 Jul, 2008

2 commits