15 Jul, 2008

2 commits

  • This patch corrects many places where TIPC routines indicated
    successful completion by returning TIPC_OK instead of 0.
    (The TIPC_OK symbol has the value 0, but it should only be used
    in contexts that deal with the error code field of a TIPC
    message header.)

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     
  • This patch eliminates an unneeded parameter when creating a low-level
    TIPC port object. Instead of returning both the pointer to the port
    structure and the port's reference ID, it now returns only the pointer
    since the port structure contains the reference ID as one of its fields.

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     

05 Jun, 2008

5 commits


22 May, 2008

1 commit


13 May, 2008

1 commit

  • This patch eliminates the (very remote) chance of a crash resulting
    from a partially initialized socket or native port unexpectedly
    receiving a message. Now, during the creation of a socket or native
    port, the underlying generic port's lock is not released until all
    initialization required to handle incoming messages has been done.

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     

15 Apr, 2008

1 commit

  • This patch modifies TIPC's socket code to follow the same approach
    used by other protocols. This change eliminates the need for a
    mutex in the TIPC-specific portion of the socket protocol data
    structure -- in its place, the standard Linux socket backlog queue
    and associated locking routines are utilized. These changes fix
    a long-standing receive queue bug on SMP systems, and also enable
    individual read and write threads to utilize a socket without
    unnecessarily interfering with each other.

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     

07 Mar, 2008

2 commits


29 Jan, 2008

1 commit

  • The file net/tipc/port.c takes a lock using the function tipc_port_lock and
    then releases the lock sometimes using tipc_port_unlock and sometimes using
    spin_unlock_bh(p_ptr->publ.lock). tipc_port_unlock simply does the
    spin_unlock_bh, but it seems cleaner to use it everywhere.

    The problem was fixed using the following semantic patch.
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @@
    struct port *p_ptr;
    @@

    p_ptr = tipc_port_lock(...)
    ...
    (
    p_ptr = tipc_port_lock(...);
    |
    ?- spin_unlock_bh(p_ptr->publ.lock);
    + tipc_port_unlock(p_ptr);
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Jon Paul Maloy
    Signed-off-by: David S. Miller

    Julia Lawall
     

14 Aug, 2007

1 commit


11 Jul, 2007

1 commit

  • This patch enhances TIPC's stream socket send routine so that
    it avoids transmitting data in chunks that require fragmentation
    and reassembly, thereby improving performance at both the
    sending and receiving ends of the connection.

    The "maximum packet size" hint that records MTU info allows
    the socket to decide how big a chunk it should send; in the
    event that the hint has become stale, fragmentation may still
    occur, but the data will be passed correctly and the hint will
    be updated in time for the following send. Note: The 66060 byte
    pseudo-MTU used for intra-node connections requires the send
    routine to perform an additional check to ensure it does not
    exceed TIPC"s limit of 66000 bytes of user data per chunk.

    Signed-off-by: Allan Stephens
    Signed-off-by: Jon Paul Maloy
    Signed-off-by: David S. Miller

    Allan Stephens
     

26 Apr, 2007

1 commit


11 Feb, 2007

1 commit


02 Nov, 2006

1 commit


19 Oct, 2006

1 commit


22 Jul, 2006

1 commit


28 Jun, 2006

1 commit

  • locking init cleanups:

    - convert " = SPIN_LOCK_UNLOCKED" to spin_lock_init() or DEFINE_SPINLOCK()
    - convert rwlocks in a similar manner

    this patch was generated automatically.

    Motivation:

    - cleanliness
    - lockdep needs control of lock initialization, which the open-coded
    variants do not give
    - it's also useful for -rt and for lock debugging in general

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

    Ingo Molnar
     

26 Jun, 2006

5 commits


21 Mar, 2006

3 commits

  • Signed-off-by: Per Liden
    Signed-off-by: David S. Miller

    Per Liden
     
  • With reference to latest discussions on linux-kernel with respect to
    inline here is a patch for tipc to remove all inlines as used in
    the .c files. See also chapter 14 in Documentation/CodingStyle.

    Before:
    text data bss dec hex filename
    102990 5292 1752 110034 1add2 tipc.o

    Now:
    text data bss dec hex filename
    101190 5292 1752 108234 1a6ca tipc.o

    This is a nice text size reduction which will improve icache usage.
    In some cases bigger (> 4 lines) functions where declared inline
    and used in many places, they are most probarly no longer inlined by gcc
    resulting in the size reduction.
    There are several one liners that no longer are declared inline, but gcc
    should inline these just fine without the inline hint.

    With this patch applied one warning is added about an unused static
    function - that was hidded by utilising inline before.
    The function in question were kept so this patch is solely a
    inline removal patch.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Per Liden
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • Tried to run the new tipc stack through sparse.
    Following patch fixes all cases where 0 was used
    as replacement of NULL.
    Use NULL to document this is a pointer and to silence sparse.

    This brough sparse warning count down with 127 to 24 warnings.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Per Liden
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

18 Jan, 2006

1 commit


13 Jan, 2006

5 commits