Skip to content
  1. Oct 24, 2007
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 0b776eb5
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        mlx4_core: Increase command timeout for INIT_HCA to 10 seconds
        IPoIB/cm: Use common CQ for CM send completions
        IB/uverbs: Fix checking of userspace object ownership
        IB/mlx4: Sanity check userspace send queue sizes
        IPoIB: Rewrite "if (!likely(...))" as "if (unlikely(!(...)))"
        IB/ehca: Enable large page MRs by default
        IB/ehca: Change meaning of hca_cap_mr_pgsize
        IB/ehca: Fix ehca_encode_hwpage_size() and alloc_fmr()
        IB/ehca: Fix masking error in {,re}reg_phys_mr()
        IB/ehca: Supply QP token for SRQ base QPs
        IPoIB: Use round_jiffies() for ah_reap_task
        RDMA/cma: Fix deadlock destroying listen requests
        RDMA/cma: Add locking around QP accesses
        IB/mthca: Avoid alignment traps when writing doorbells
        mlx4_core: Kill mlx4_write64_raw()
      0b776eb5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest · 0d681009
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (45 commits)
        Use "struct boot_params" in example launcher
        Loading bzImage directly.
        Revert lguest magic and use hook in head.S
        Update lguest documentation to reflect the new virtual block device name.
        generalize lgread_u32/lgwrite_u32.
        Example launcher handle guests not being ready for input
        Update example launcher for virtio
        Lguest support for Virtio
        Remove old lguest I/O infrrasructure.
        Remove old lguest bus and drivers.
        Virtio helper routines for a descriptor ringbuffer implementation
        Module autoprobing support for virtio drivers.
        Virtio console driver
        Block driver using virtio.
        Net driver using virtio
        Virtio interface
        Boot with virtual == physical to get closer to native Linux.
        Allow guest to specify syscall vector to use.
        Rename "cr3" to "gpgdir" to avoid x86-specific naming.
        Pagetables to use normal kernel types
        ...
      0d681009
    • Herbert Xu's avatar
      Fix synchronize_irq races with IRQ handler · a98ce5c6
      Herbert Xu authored
      
      
      As it is some callers of synchronize_irq rely on memory barriers
      to provide synchronisation against the IRQ handlers.  For example,
      the tg3 driver does
      
      	tp->irq_sync = 1;
      	smp_mb();
      	synchronize_irq();
      
      and then in the IRQ handler:
      
      	if (!tp->irq_sync)
      		netif_rx_schedule(dev, &tp->napi);
      
      Unfortunately memory barriers only work well when they come in
      pairs.  Because we don't actually have memory barriers on the
      IRQ path, the memory barrier before the synchronize_irq() doesn't
      actually protect us.
      
      In particular, synchronize_irq() may return followed by the
      result of netif_rx_schedule being made visible.
      
      This patch (mostly written by Linus) fixes this by using spin
      locks instead of memory barries on the synchronize_irq() path.
      
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a98ce5c6
  2. Oct 23, 2007