1. 05 10月, 2006 3 次提交
    • H
      [POWERPC] spufs: fix context switch during page fault · 28347bce
      HyeonSeung Jang 提交于
      For better explanation, I break down the page fault handling into steps:
      
      1) There is a page fault caused by DMA operation initiated by SPU and
      DMA is suspended.
      
      2) The interrupt handler 'spu_irq_class_1()/__spu_trap_data_map()' is
      called and it just wakes up the sleeping spe-manager thread.
      
      3) by PPE scheduler, the corresponding bottom half,
      spu_irq_class_1_bottom() is called in process context and DMA is
      restarted.
      
      There can be a quite large time gap between 2) and 3) and I found
      the following problem:
      
      Between 2) and 3) If the context becomes unbound, 3) is not executed
      because when the spe-manager thread is awaken, the context is already
      saved. (This situation can happen, for example, when a high priority spe
      thread newly started in that time gap)
      
      But the actual problem is that the corresponding SPU context does not
      work even if it is bound again to a SPU.
      
      Besides I can see the following warning in mambo simulator when the
      context becomes
      unbound(in save_mfc_cmd()), i.e. when unbind() is called for the
      context after step 2) before 3) :
      
      'WARNING: 61392752237: SPE2: MFC_CMD_QUEUE channel count of 15 is
      inconsistent with number of available DMA queue entries of 16'
      
      After I go through available documents, I found that the problem is
      because the suspended DMA is not restarted when it is bound again.
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      28347bce
    • M
      [POWERPC] spufs: scheduler support for NUMA. · a68cf983
      Mark Nutter 提交于
      This patch adds NUMA support to the the spufs scheduler.
      
      The new arch/powerpc/platforms/cell/spufs/sched.c is greatly
      simplified, in an attempt to reduce complexity while adding
      support for NUMA scheduler domains.  SPUs are allocated starting
      from the calling thread's node, moving to others as supported by
      current->cpus_allowed.  Preemption is gone as it was buggy, but
      should be re-enabled in another patch when stable.
      
      The new arch/powerpc/platforms/cell/spu_base.c maintains idle
      lists on a per-node basis, and allows caller to specify which
      node(s) an SPU should be allocated from, while passing -1 tells
      spu_alloc() that any node is allowed.
      
      Since the patch removes the currently implemented preemptive
      scheduling, it is technically a regression, but practically
      all users have since migrated to this version, as it is
      part of the IBM SDK and the yellowdog distribution, so there
      is not much point holding it back while the new preemptive
      scheduling patch gets delayed further.
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a68cf983
    • B
      [POWERPC] spufs: cell spu problem state mapping updates · 27d5bf2a
      Benjamin Herrenschmidt 提交于
      This patch adds a new "psmap" file to spufs that allows mmap of all of
      the problem state mapping of SPEs. It is compatible with 64k pages. In
      addition, it removes mmap ability of individual files when using 64k
      pages, with the exception of signal1 and signal2 which will both map the
      entire 64k page holding both registers. It also removes
      CONFIG_SPUFS_MMAP as there is no point in not building mmap support in
      spufs.
      
      It goes along a separate patch to libspe implementing usage of that new
      file to access problem state registers.
      
      Another patch will follow up to fix races opened up by accessing
      the 'runcntl' register directly, which is made possible with this
      patch.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      27d5bf2a
  2. 04 10月, 2006 8 次提交
  3. 03 10月, 2006 3 次提交
    • O
      [PATCH] restore parport_pc probing on powermac · 873ef76b
      Olaf Hering 提交于
      The last change for partport_pc did fix the common case for all PowerMacs,
      but it broke the case for PCI multiport IO cards.  In fact, the config
      option CONFIG_PARPORT_PC_SUPERIO=y lead to a hard crash when cups probed
      the parport driver.  It enables the winbond and smsc probing.
      
      Remove the PARPORT_BASE check again, parport_pc_find_nonpci_ports() will
      take care of it.  All powerpc configs should have
      CONFIG_PARPORT_PC_SUPERIO=n, the code did not find anything on the chrp
      boards we tested it on.
      
      Tested on a G4/466 with a PCI card:
      
      0001:10:13.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART) (rev 01) (prog-if 02 [16550])
              Subsystem: Timedia Technology Co Ltd Unknown device 5079
              Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
              Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
              Interrupt: pin A routed to IRQ 53
              Region 0: I/O ports at f2000800 [size=32]
              Region 2: I/O ports at f2000870 [size=8]
              Region 3: I/O ports at f2000860 [size=8]
      Signed-off-by: NOlaf Hering <olaf@aepfle.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Cc: Dmitry Torokhov <dtor@mail.ru>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      873ef76b
    • S
      [POWERPC] iSeries has no legacy I/O · 80a544ce
      Stephen Rothwell 提交于
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      80a544ce
    • S
  4. 02 10月, 2006 3 次提交
  5. 01 10月, 2006 2 次提交
  6. 30 9月, 2006 1 次提交
  7. 27 9月, 2006 2 次提交
    • T
      [PATCH] inode-diet: Eliminate i_blksize from the inode structure · ba52de12
      Theodore Ts'o 提交于
      This eliminates the i_blksize field from struct inode.  Filesystems that want
      to provide a per-inode st_blksize can do so by providing their own getattr
      routine instead of using the generic_fillattr() function.
      
      Note that some filesystems were providing pretty much random (and incorrect)
      values for i_blksize.
      
      [bunk@stusta.de: cleanup]
      [akpm@osdl.org: generic_fillattr() fix]
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ba52de12
    • T
      [PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private · 8e18e294
      Theodore Ts'o 提交于
      The following patches reduce the size of the VFS inode structure by 28 bytes
      on a UP x86.  (It would be more on an x86_64 system).  This is a 10% reduction
      in the inode size on a UP kernel that is configured in a production mode
      (i.e., with no spinlock or other debugging functions enabled; if you want to
      save memory taken up by in-core inodes, the first thing you should do is
      disable the debugging options; they are responsible for a huge amount of bloat
      in the VFS inode structure).
      
      This patch:
      
      The filesystem or device-specific pointer in the inode is inside a union,
      which is pretty pointless given that all 30+ users of this field have been
      using the void pointer.  Get rid of the union and rename it to i_private, with
      a comment to explain who is allowed to use the void pointer.  This is just a
      cleanup, but it allows us to reuse the union 'u' for something something where
      the union will actually be used.
      
      [judith@osdl.org: powerpc build fix]
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Signed-off-by: NJudith Lebzelter <judith@osdl.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8e18e294
  8. 26 9月, 2006 5 次提交
  9. 25 9月, 2006 2 次提交
  10. 24 9月, 2006 1 次提交
  11. 22 9月, 2006 6 次提交
  12. 21 9月, 2006 4 次提交