1. 13 Oct, 2009 5 commits
    • Anton Vorontsov's avatar
      gianfar: Don't needlessly set the wrap bit for the last RX BD · 14231176
      Anton Vorontsov authored
      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: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      14231176
    • Anton Vorontsov's avatar
      gianfar: Simplify skb resources freeing code · e69edd21
      Anton Vorontsov authored
      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: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e69edd21
    • Anton Vorontsov's avatar
      gianfar: Some cleanups for startup_gfar() · ccc05c6e
      Anton Vorontsov authored
      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: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ccc05c6e
    • Arnaldo Carvalho de Melo's avatar
      net: Introduce recvmmsg socket syscall · a2e27255
      Arnaldo Carvalho de Melo authored
      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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a2e27255
    • David S. Miller's avatar
      cnic: Need to include net/ip6_checksum.h · c05e85a0
      David S. Miller authored
      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: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c05e85a0
  2. 12 Oct, 2009 23 commits
  3. 09 Oct, 2009 12 commits