30 Nov, 2009

1 commit


31 Oct, 2009

2 commits

  • Move receive processing from event handler to a tasklet.
    This should help prevent hangcheck timer from going off
    when RDS is under heavy load.

    Signed-off-by: Andy Grover
    Signed-off-by: David S. Miller

    Andy Grover
     
  • "At rds_ib_recv_refill_one(), it first executes atomic_read(&rds_ib_allocation)
    for if-condition checking,

    and then executes atomic_inc(&rds_ib_allocation) if the condition was
    not satisfied.

    However, if any other code which updates rds_ib_allocation executes
    between these two atomic operation executions,
    it seems that it may result race condition. (especially when
    rds_ib_allocation + 1 == rds_ib_sysctl_max_recv_allocation)"

    This patch fixes this by using atomic_inc_unless to eliminate the
    possibility of allocating more than rds_ib_sysctl_max_recv_allocation
    and then decrementing the count if the allocation fails. It also
    makes an identical change to the iwarp transport.

    Reported-by: Shin Hong
    Signed-off-by: Andy Grover
    Signed-off-by: David S. Miller

    Andy Grover
     

10 Apr, 2009

1 commit


02 Apr, 2009

1 commit

  • We have a 64bit value that needs to be set atomically.
    This is easy and quick on all 64bit archs, and can also be done
    on x86/32 with set_64bit() (uses cmpxchg8b). However other
    32b archs don't have this.

    I actually changed this to the current state in preparation for
    mainline because the old way (using a spinlock on 32b) resulted in
    unsightly #ifdefs in the code. But obviously, being correct takes
    precedence.

    Signed-off-by: Andy Grover
    Signed-off-by: David S. Miller

    Andy Grover
     

27 Feb, 2009

1 commit

  • Support for iWARP NICs is implemented as a separate
    RDS transport from IB. The code, however, is very
    similar to IB (it was forked, basically.) so let's keep
    it in one changeset.

    The reason for this duplicationis that despite its similarity
    to IB, there are a number of places where it has different
    semantics. iwarp zcopy support is still under development,
    and giving it its own sandbox ensures that IB code isn't
    disrupted while iwarp changes. Over time these transports
    will re-converge.

    Signed-off-by: Andy Grover
    Signed-off-by: David S. Miller

    Andy Grover