11 Dec, 2010

16 commits


10 Dec, 2010

9 commits

  • Remove macros which have been unused since the initial implementation
    (commit 7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c, [DCCP]: Initial
    implementation from Tue Aug 9 20:14:34 2005 -0700).

    Signed-off-by: Shan Wei
    Acked-by: Gerrit Renker

    Shan Wei
     
  • Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • bnx2x_src_init_t2() is used only when BCM_CNIC is defined.
    So, to avoid a compilation warning, we won't define it unless
    BCM_CNIC is defined.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Make the LSO code work on BE platforms: parsing_data field of
    a parsing BD (PBD) for 57712 was improperly composed which made FW read wrong
    values for TCP header's length and offset and, as a result, the corresponding
    PCI device was performing bad DMA reads triggering EEH.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • __load_pointer() checks data we fetch from skb is included in head
    portion, but assumes we fetch one byte, instead of up to four.

    This wont crash because we have extra bytes (struct skb_shared_info)
    after head, but this can read uninitialized bytes.

    Fix this using size of the data (1, 2, 4 bytes) in the test.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • The current jhash.h implements the lookup2() hash function by Bob Jenkins.
    However, lookup2() is outdated as Bob wrote a new hash function called
    lookup3(). The patch replaces the lookup2() implementation of the 'jhash*'
    functions with that of lookup3().

    You can read a longer comparison of the two and other hash functions at
    http://burtleburtle.net/bob/hash/doobs.html.

    Signed-off-by: Jozsef Kadlecsik
    Acked-by: Rusty Russell
    Signed-off-by: David S. Miller

    Jozsef Kadlecsik
     
  • Followup of commit b178bb3dfc30 (net: reorder struct sock fields)

    Optimize INET input path a bit further, by :

    1) moving sk_refcnt close to sk_lock.

    This reduces number of dirtied cache lines by one on 64bit arches (and
    64 bytes cache line size).

    2) moving inet_daddr & inet_rcv_saddr at the beginning of sk

    (same cache line than hash / family / bound_dev_if / nulls_node)

    This reduces number of accessed cache lines in lookups by one, and dont
    increase size of inet and timewait socks.
    inet and tw sockets now share same place-holder for these fields.

    Before patch :

    offsetof(struct sock, sk_refcnt) = 0x10
    offsetof(struct sock, sk_lock) = 0x40
    offsetof(struct sock, sk_receive_queue) = 0x60
    offsetof(struct inet_sock, inet_daddr) = 0x270
    offsetof(struct inet_sock, inet_rcv_saddr) = 0x274

    After patch :

    offsetof(struct sock, sk_refcnt) = 0x44
    offsetof(struct sock, sk_lock) = 0x48
    offsetof(struct sock, sk_receive_queue) = 0x68
    offsetof(struct inet_sock, inet_daddr) = 0x0
    offsetof(struct inet_sock, inet_rcv_saddr) = 0x4

    compute_score() (udp or tcp) now use a single cache line per ignored
    item, instead of two.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Use helper functions to hide all direct accesses, especially writes,
    to dst_entry metrics values.

    This will allow us to:

    1) More easily change how the metrics are stored.

    2) Implement COW for metrics.

    In particular this will help us put metrics into the inetpeer
    cache if that is what we end up doing. We can make the _metrics
    member a pointer instead of an array, initially have it point
    at the read-only metrics in the FIB, and then on the first set
    grab an inetpeer entry and point the _metrics member there.

    Signed-off-by: David S. Miller
    Acked-by: Eric Dumazet

    David S. Miller
     

09 Dec, 2010

15 commits