27 Mar, 2006

1 commit

  • Modify well over a dozen mempool users to call mempool_create_slab_pool()
    rather than calling mempool_create() with extra arguments, saving about 30
    lines of code and increasing readability.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     

22 Mar, 2006

1 commit

  • SLAB_NO_REAP is documented as an option that will cause this slab not to be
    reaped under memory pressure. However, that is not what happens. The only
    thing that SLAB_NO_REAP controls at the moment is the reclaim of the unused
    slab elements that were allocated in batch in cache_reap(). Cache_reap()
    is run every few seconds independently of memory pressure.

    Could we remove the whole thing? Its only used by three slabs anyways and
    I cannot find a reason for having this option.

    There is an additional problem with SLAB_NO_REAP. If set then the recovery
    of objects from alien caches is switched off. Objects not freed on the
    same node where they were initially allocated will only be reused if a
    certain amount of objects accumulates from one alien node (not very likely)
    or if the cache is explicitly shrunk. (Strangely __cache_shrink does not
    check for SLAB_NO_REAP)

    Getting rid of SLAB_NO_REAP fixes the problems with alien cache freeing.

    Signed-off-by: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Manfred Spraul
    Cc: Mark Fasheh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

05 Feb, 2006

4 commits

  • >From ogerlitz@voltaire.com:

    mgmtpool shoild be frees in immdata_alloc_fail label.

    Signed-off-by: Mike Christie
    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: James Bottomley

    Mike Christie
     
  • >From erezz@voltaire.com:

    We are still in ISCSI_STATE_FREE state at create time. The addition
    of the first connection puts us in ISCSI_STATE_LOGGED_IN.

    Signed-off-by: Mike Christie
    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: James Bottomley

    Mike Christie
     
  • >From erezz@voltaire.com:

    rm conn->lock since it is not used anymore. The dataqueue is protected
    by the session lock and xmitmutex.

    Signed-off-by: Mike Christie
    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From:
    michaelc@cs.wisc.edu
    fujita.tomonori@lab.ntt.co.jp
    da-x@monatomic.org

    and err path fixup from:
    ogerlitz@voltaire.com

    This patch cleans up that interface by having the lld and class
    pass a iscsi_cls_session or iscsi_cls_conn between each other when
    the function is used by HW and SW iscsi llds. This way the lld
    does not have to remember if it has to send a handle or pointer
    and a handle or pointer to connection, session or host.

    This also has the class verify the session handle that gets passed from
    userspace instead of using the pointer passed into the kernel directly.

    Signed-off-by: Mike Christie
    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: James Bottomley

    Mike Christie
     

15 Jan, 2006

9 commits

  • Remove the "inline" keyword from a bunch of big functions in the kernel with
    the goal of shrinking it by 30kb to 40kb

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Ingo Molnar
    Acked-by: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • From: FUJITA Tomonori and zhenyu.z.wang@intel.com:

    We cannot handle filesystems like XFS becuase of the pages they
    are sending us. We had thought page_count could be used to
    work around this, but the correct test is for PageSlab.

    The proper solution is to figure out what type of pages
    filesystems can use so we do not have to add tests like
    this or handle it in the block layer for all network block drivers
    but the issue still has not been resolved on fs-devel
    so we are sending this patch as a temporary fix.

    This is last patch just in case it is Nakd with the explanation
    that we need to push the correct fix through fs-devel, mm
    or the block layer. The rest of the patchset can live without
    the patch, but the driver will not work with filesystems like
    XFS.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • When we run the xmit code from queuecomand the stack trace
    gets too deep. The patch runs the xmit code from the scsi_host
    work queue. This fixes 4k stack and xfs support and should
    fix the st and sg stack usage bugs.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • This is the second version of the patch to address Christoph's comments.
    Instead of doing the lib, I just kept everything in scsi_trnapsort_iscsi.c
    like the FC and SPI class. This was becuase the driver model and sysfs
    class is tied to the session and connection setup so separating did not
    buy very much at this time.

    The reason for this patch was becuase HW iscsi LLDs like qla4xxx cannot
    use the iscsi class becuase the scsi_host was tied to the interface and
    class code. This patch just seperates the session from scsi host so
    that LLDs that allocate the host per some resource like pci device
    can still use the class.

    This is also fixes a couple refcount bugs that can be triggered
    when users have a sysfs file open, close the session, then
    read or write to the file.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From Mike Christie and FUJITA Tomonori :

    We cannot use page_address becuase some pages could be highmem.
    Instead, we can use sock_no_sendpage which does kmap for us.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • Users can write to a page while we are sending it and making
    digest calculations. This ends up causing us to retry the command
    when a digest error is later reported. By using sock_no_sendpage
    when data digests are calculated we can avoid a lot of (not all but it
    helps) the retries becuase sock_no_sendpage is not zero copy.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • We should be taking the host_lock instead of the conn lock when
    checking host_busy.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    zhenyu.z.wang@intel.com
     
  • We need to check the ISCSI_FLAG_DATA_* flags.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    zhenyu.z.wang@intel.com
     
  • Remove extra whitespaces.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     

13 Jan, 2006

1 commit


16 Dec, 2005

2 commits


14 Dec, 2005

7 commits


21 Sep, 2005

7 commits

  • From: michaelc@cs.wisc.edu

    I have a bad memory. I cannot remember what versions are which,
    so add a module version to help.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From: zhenyu.z.wang@intel.com

    This add check to NOOP_IN's ttt, when it's ~0UL we should not send
    NOOP_OUT by spec (plus some cleanup).

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From: tomof@acm.org

    Fix AHS Length

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From: michaelc@cs.wisc.edu

    Cleanup some iscsi_proto defs, add some missing values, and
    fix some defs.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From: zhenyu.z.wang@intel.com

    Fix oops from nonlinear skb usage.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From: zhenyu.z.wang@intel.com

    Delay the head digest update until xmit time, like data digest update.
    [To make things cleaner and avoid prempt bug]

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From: tomof@acm.org

    I'm not sure about this. I don't think that NODELAY option hurts
    performance. However, open-iscsi does not use MSG_MORE properly with
    sendpage, so NODELAY option hurts the open-iscsi performance.

    I've attached a patch to fix NODELAY and MSG_MORE problems and the
    write performance results with disktest.

    I use Opteron boxes connected directly, Chelsio NICs, 1500-byte MTU,
    64 KB I/O size, and the iSCSI parameters on open-iscsi web site.

    With only NODELAY fix, the performance drops, as you said. On the
    other hand, NODELAY and MSG_MORE fixes improve the performance
    overall.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

06 Aug, 2005

1 commit