1. 13 10月, 2009 8 次提交
    • A
      gianfar: Don't needlessly set the wrap bit for the last RX BD · 14231176
      Anton Vorontsov 提交于
      startup_gfar() sets the wrap bit for the last rxbd just after
      gfar_new_rxbdp() call, which is issued for all rxbds. And
      gfar_new_rxbdp() has the following check already:
      
      	if (bdp == priv->rx_bd_base + priv->rx_ring_size - 1)
      		lstatus |= BD_LFLAG(RXBD_WRAP);
      
      So we don't need to set the bit again.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      14231176
    • A
      gianfar: Simplify skb resources freeing code · e69edd21
      Anton Vorontsov 提交于
      Remove dma_free_coherent() from stop_gfar() and gfar_start() calls,
      place it into free_skb_resources(). That makes SKB resources management
      more understandable, plus free_skb_resources() will be used as a cleanup
      routine for gfar_alloc_skb_resources() that will be implemented soon.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e69edd21
    • A
      gianfar: Some cleanups for startup_gfar() · ccc05c6e
      Anton Vorontsov 提交于
      We're going to split the startup_gfar() into 3 separate functions,
      so let's cleanup the code a little bit so that cosmetic changes
      won't distract attention from logical ones.
      
      - Remove needless casts (e.g. (struct sk_buff **)kmalloc());
      - Turn 'unsigned long vaddr;' into 'void *vaddr', to avoid casting;
      - Add new 'struct device *dev' variable as a shorthand for
        '&priv->ofdev->dev' that is used all over the place, also rename
        'struct net_device *dev' to 'struct net_device *ndev';
      - Turn printk(KERN_ERR ...) to pr_err(...), which is shorter;
      - Don't return bogus -1 (i.e. -EPERM) when request_irq() fails;
      - Turn '&priv->regs->' to just '&regs->'.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ccc05c6e
    • A
      net: Introduce recvmmsg socket syscall · a2e27255
      Arnaldo Carvalho de Melo 提交于
      Meaning receive multiple messages, reducing the number of syscalls and
      net stack entry/exit operations.
      
      Next patches will introduce mechanisms where protocols that want to
      optimize this operation will provide an unlocked_recvmsg operation.
      
      This takes into account comments made by:
      
      . Paul Moore: sock_recvmsg is called only for the first datagram,
        sock_recvmsg_nosec is used for the rest.
      
      . Caitlin Bestler: recvmmsg now has a struct timespec timeout, that
        works in the same fashion as the ppoll one.
      
        If the underlying protocol returns a datagram with MSG_OOB set, this
        will make recvmmsg return right away with as many datagrams (+ the OOB
        one) it has received so far.
      
      . Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen
        datagrams and then recvmsg returns an error, recvmmsg will return
        the successfully received datagrams, store the error and return it
        in the next call.
      
      This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg,
      where we will be able to acquire the lock only at batch start and end, not at
      every underlying recvmsg call.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a2e27255
    • D
      cnic: Need to include net/ip6_checksum.h · c05e85a0
      David S. Miller 提交于
      drivers/net/cnic.c: In function 'cnic_init_storm_conn_bufs':
      drivers/net/cnic.c:1757: error: implicit declaration of function 'csum_ipv6_magic'
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c05e85a0
    • V
      pasemi_mac: ethtool set settings support · 5402240c
      Valentine Barshak 提交于
      Add ethtool set settings to pasemi_mac_ethtool.
      Signed-off-by: NValentine Barshak <vbarshak@ru.mvista.com>
      Acked-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5402240c
    • S
    • N
      net: Generalize socket rx gap / receive queue overflow cmsg · 3b885787
      Neil Horman 提交于
      Create a new socket level option to report number of queue overflows
      
      Recently I augmented the AF_PACKET protocol to report the number of frames lost
      on the socket receive queue between any two enqueued frames.  This value was
      exported via a SOL_PACKET level cmsg.  AFter I completed that work it was
      requested that this feature be generalized so that any datagram oriented socket
      could make use of this option.  As such I've created this patch, It creates a
      new SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a
      SOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue
      overflowed between any two given frames.  It also augments the AF_PACKET
      protocol to take advantage of this new feature (as it previously did not touch
      sk->sk_drops, which this patch uses to record the overflow count).  Tested
      successfully by me.
      
      Notes:
      
      1) Unlike my previous patch, this patch simply records the sk_drops value, which
      is not a number of drops between packets, but rather a total number of drops.
      Deltas must be computed in user space.
      
      2) While this patch currently works with datagram oriented protocols, it will
      also be accepted by non-datagram oriented protocols. I'm not sure if thats
      agreeable to everyone, but my argument in favor of doing so is that, for those
      protocols which aren't applicable to this option, sk_drops will always be zero,
      and reporting no drops on a receive queue that isn't used for those
      non-participating protocols seems reasonable to me.  This also saves us having
      to code in a per-protocol opt in mechanism.
      
      3) This applies cleanly to net-next assuming that commit
      97775007 (my af packet cmsg patch) is reverted
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b885787
  2. 12 10月, 2009 20 次提交
  3. 10 10月, 2009 6 次提交
  4. 09 10月, 2009 6 次提交