1. 10 2月, 2007 1 次提交
  2. 08 2月, 2007 1 次提交
  3. 05 2月, 2007 1 次提交
    • I
      IB/srp: Don't wait for response when QP is in error state. · 1033ff67
      Ishai Rabinovitz 提交于
      When there is a call to send_tsk_mgmt SRP posts a send and waits for 5
      seconds to get a response.
      
      When the QP is in the error state it is obvious that there will be no
      response so it is quite useless to wait.  In fact, the timeout causes
      SRP to wait a long time to reconnect when a QP error occurs. (Each
      abort and each reset_device calls send_tsk_mgmt, which waits for the
      timeout).  The following patch solves this problem by identifying the
      failure and returning an immediate error code.
      Signed-off-by: NIshai Rabinovitz <ishai@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1033ff67
  4. 23 1月, 2007 1 次提交
  5. 08 1月, 2007 1 次提交
  6. 16 12月, 2006 1 次提交
    • R
      IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G · bf628dc2
      Roland Dreier 提交于
      struct srp_device.fmr_page_mask was unsigned long, which means that
      the top part of addresses above 4G was being chopped off on 32-bit
      architectures.  Of course nothing good happens when data from SRP
      targets is DMAed to the wrong place.
      
      Fix this by changing fmr_page_mask to u64, to match the addresses
      actually used by IB devices.
      
      Thanks to Brian Cain <Brian.Cain@ge.com> and David McMillen
      <davem@systemfabricworks.com> for help diagnosing the bug and testing
      the fix.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      bf628dc2
  7. 13 12月, 2006 5 次提交
  8. 09 12月, 2006 1 次提交
    • D
      [PATCH] LOG2: Implement a general integer log2 facility in the kernel · f0d1b0b3
      David Howells 提交于
      This facility provides three entry points:
      
      	ilog2()		Log base 2 of unsigned long
      	ilog2_u32()	Log base 2 of u32
      	ilog2_u64()	Log base 2 of u64
      
      These facilities can either be used inside functions on dynamic data:
      
      	int do_something(long q)
      	{
      		...;
      		y = ilog2(x)
      		...;
      	}
      
      Or can be used to statically initialise global variables with constant values:
      
      	unsigned n = ilog2(27);
      
      When performing static initialisation, the compiler will report "error:
      initializer element is not constant" if asked to take a log of zero or of
      something not reducible to a constant.  They treat negative numbers as
      unsigned.
      
      When not dealing with a constant, they fall back to using fls() which permits
      them to use arch-specific log calculation instructions - such as BSR on
      x86/x86_64 or SCAN on FRV - if available.
      
      [akpm@osdl.org: MMC fix]
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Wojtek Kaniewski <wojtekka@toxygen.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f0d1b0b3
  9. 04 12月, 2006 1 次提交
  10. 30 11月, 2006 4 次提交
  11. 22 11月, 2006 1 次提交
  12. 17 11月, 2006 1 次提交
  13. 31 10月, 2006 1 次提交
  14. 11 10月, 2006 3 次提交
  15. 04 10月, 2006 1 次提交
  16. 29 9月, 2006 3 次提交
  17. 27 9月, 2006 1 次提交
    • 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
  18. 23 9月, 2006 12 次提交