10 Jan, 2006

1 commit

  • Add a node_guid field to struct ib_device. It is the responsibility
    of the low-level driver to initialize this field before registering a
    device with the midlayer. Convert everyone to looking at this field
    instead of calling ib_query_device() when all they want is the node
    GUID, and remove the node_guid field from struct ib_device_attr.

    Signed-off-by: Sean Hefty
    Signed-off-by: Roland Dreier

    Sean Hefty
     

11 Nov, 2005

2 commits

  • Move the computation of QP capabilities (max scatter/gather entries,
    max inline data, etc) into the kernel, and have the uverbs module
    return the values as part of the create QP response. This keeps
    precise knowledge of device limits in the low-level kernel driver.

    This requires an ABI bump, so while we're making changes, get rid of
    the max_sge parameter for the modify SRQ command -- it's not used and
    shouldn't be there.

    Signed-off-by: Jack Morgenstein
    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Roland Dreier

    Jack Morgenstein
     
  • Change the struct ib_device.resize_cq() method to take a plain integer
    that holds the new CQ size, rather than a pointer to an integer that
    it uses to return the new size. This makes the interface match the
    exported ib_resize_cq() signature, and allows the low-level driver to
    update the CQ size with proper locking if necessary.

    No in-tree drivers are exporting this method yet.

    Signed-off-by: Roland Dreier

    Roland Dreier
     

02 Nov, 2005

1 commit


26 Oct, 2005

1 commit

  • The MAD layer was violating the DMA API by touching data buffers used
    for sends after the DMA mapping was done. This causes problems on
    non-cache-coherent architectures, because the device doing DMA won't
    see updates to the payload buffers that exist only in the CPU cache.

    Fix this by having all MAD consumers use ib_create_send_mad() to
    allocate their send buffers, and moving the DMA mapping into the MAD
    layer so it can be done just before calling send (and after any
    modifications of the send buffer by the MAD layer).

    Tested on a non-cache-coherent PowerPC 440SPe system.

    Signed-off-by: Sean Hefty
    Signed-off-by: Roland Dreier

    Sean Hefty
     

18 Oct, 2005

5 commits


09 Oct, 2005

1 commit

  • - added typedef unsigned int __nocast gfp_t;

    - replaced __nocast uses for gfp flags with gfp_t - it gives exactly
    the same warnings as far as sparse is concerned, doesn't change
    generated code (from gcc point of view we replaced unsigned int with
    typedef) and documents what's going on far better.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

27 Sep, 2005

1 commit

  • Al Viro pointed out that the current IB userspace verbs interface
    allows userspace to cause mischief by closing file descriptors before
    we're ready, or issuing the same command twice at the same time. This
    patch closes those races, and fixes other obvious problems such as a
    module reference leak.

    Some other interface bogosities will require an ABI change to fix
    properly, so I'm deferring those fixes until 2.6.15.

    Signed-off-by: Roland Dreier

    Roland Dreier
     

22 Sep, 2005

1 commit


10 Sep, 2005

5 commits


08 Sep, 2005

1 commit

  • - Add user specified context to all uCM events. Users will not retrieve
    any events associated with the context after destroying the corresponding
    cm_id.
    - Provide the ib_cm_init_qp_attr() call to userspace clients of the CM.
    This call may be used to set QP attributes properly before modifying the QP.
    - Fixes some error handling synchonization and cleanup issues.
    - Performs some minor code cleanup.

    Signed-off-by: Sean Hefty
    Signed-off-by: Roland Dreier

    Sean Hefty
     

27 Aug, 2005

1 commit