summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* virtio-pci: do not oops on config change if driver not loadedMark McLoughlin2009-02-021-1/+1
| | | | | | | | | | | | | | | | | | The host really shouldn't be notifying us of config changes before the device status is VIRTIO_CONFIG_S_DRIVER or VIRTIO_CONFIG_S_DRIVER_OK. However, if we do happen to be interrupted while we're not attached to a driver, we really shouldn't oops. Prevent this simply by checking that device->driver is non-NULL before trying to notify the driver of config changes. Problem observed by doing a "set_link virtio.0 down" with QEMU before the net driver had been loaded. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* modules: Use a better scheme for refcountingEric Dumazet2009-02-022-19/+41
| | | | | | | | | | | | | | | | | | | | | | | | | Current refcounting for modules (done if CONFIG_MODULE_UNLOAD=y) is using a lot of memory. Each 'struct module' contains an [NR_CPUS] array of full cache lines. This patch uses existing infrastructure (percpu_modalloc() & percpu_modfree()) to allocate percpu space for the refcount storage. Instead of wasting NR_CPUS*128 bytes (on i386), we now use nr_cpu_ids*sizeof(local_t) bytes. On a typical distro, where NR_CPUS=8, shiping 2000 modules, we reduce size of module files by about 2 Mbytes. (1Kb per module) Instead of having all refcounters in the same memory node - with TLB misses because of vmalloc() - this new implementation permits to have better NUMA properties, since each CPU will use storage on its preferred node, thanks to percpu storage. Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Manually revert "mlock: downgrade mmap sem while populating mlocked regions"Linus Torvalds2009-02-011-45/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This essentially reverts commit 8edb08caf68184fb170f4f69c7445929e199eaea. It downgraded our mmap semaphore to a read-lock while mlocking pages, in order to allow other threads (and external accesses like "ps" et al) to walk the vma lists and take page faults etc. Which is a nice idea, but the implementation does not work. Because we cannot upgrade the lock back to a write lock without releasing the mmap semaphore, the code had to release the lock entirely and then re-take it as a writelock. However, that meant that the caller possibly lost the vma chain that it was following, since now another thread could come in and mmap/munmap the range. The code tried to work around that by just looking up the vma again and erroring out if that happened, but quite frankly, that was just a buggy hack that doesn't actually protect against anything (the other thread could just have replaced the vma with another one instead of totally unmapping it). The only way to downgrade to a read map _reliably_ is to do it at the end, which is likely the right thing to do: do all the 'vma' operations with the write-lock held, then downgrade to a read after completing them all, and then do the "populate the newly mlocked regions" while holding just the read lock. And then just drop the read-lock and return to user space. The (perhaps somewhat simpler) alternative is to just make all the callers of mlock_vma_pages_range() know that the mmap lock got dropped, and just re-grab the mmap semaphore if it needs to mlock more than one vma region. So we can do this "downgrade mmap sem while populating mlocked regions" thing right, but the way it was done here was absolutely not correct. Thus the revert, in the expectation that we will do it all correctly some day. Cc: Lee Schermerhorn <lee.schermerhorn@hp.com> Cc: Rik van Riel <riel@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'header-fixes-for-linus' of ↵Linus Torvalds2009-01-3190-37/+125
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (90 commits) headers_check fix: x86, swab.h headers_check fix: x86, sigcontext32.h headers_check fix: x86, sigcontext.h headers_check fix: x86, ptrace-abi.h headers_check fix: x86, mtrr.h headers_check fix: x86, mce.h headers_check fix: x86, kvm.h headers_check fix: x86, e820.h headers_check fix: linux/rtnetlink.h headers_check fix: linux/nubus.h headers_check fix: video/uvesafb.h headers_check fix: video/sisfb.h headers_check fix: sound/hdsp.h headers_check fix: mtd/inftl-user.h headers_check fix: linux/virtio_net.h headers_check fix: linux/virtio_console.h headers_check fix: linux/virtio_blk.h headers_check fix: linux/videodev.h headers_check fix: linux/video_encoder.h headers_check fix: linux/video_decoder.h ...
| * headers_check fix: x86, swab.hJaswinder Singh Rajput2009-01-311-1/+1
| | | | | | | | | | | | | | | | | | fix the following 'make headers_check' warnings: usr/include/asm/swab.h:4: include of <linux/types.h> is preferred over <asm/types.h> usr/include/asm/swab.h:7: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: x86, sigcontext32.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/asm/sigcontext32.h:20: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: x86, sigcontext.hJaswinder Singh Rajput2009-01-311-1/+1
| | | | | | | | | | | | | | | | | | fix the following 'make headers_check' warnings: usr/include/asm/sigcontext.h:5: include of <linux/types.h> is preferred over <asm/types.h> usr/include/asm/sigcontext.h:24: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: x86, ptrace-abi.hJaswinder Singh Rajput2009-01-311-1/+1
| | | | | | | | | | | | | | | | | | fix the following 'make headers_check' warnings: usr/include/asm/ptrace-abi.h:86: include of <linux/types.h> is preferred over <asm/types.h> usr/include/asm/ptrace-abi.h:93: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: x86, mtrr.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/asm/mtrr.h:61: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: x86, mce.hJaswinder Singh Rajput2009-01-311-4/+1
| | | | | | | | | | | | | | | | | | fix the following 'make headers_check' warnings: usr/include/asm/mce.h:7: include of <linux/types.h> is preferred over <asm/types.h> usr/include/asm/mce.h:29: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: x86, kvm.hJaswinder Singh Rajput2009-01-311-1/+1
| | | | | | | | | | | | | | | | | | fix the following 'make headers_check' warnings: usr/include/asm/kvm.h:9: include of <linux/types.h> is preferred over <asm/types.h> usr/include/asm/kvm.h:16: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: x86, e820.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/asm/e820.h:44: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/rtnetlink.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/rtnetlink.h:328: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/nubus.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/nubus.h:232: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: video/uvesafb.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/video/uvesafb.h:5: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: video/sisfb.hJaswinder Singh Rajput2009-01-311-1/+1
| | | | | | | | | | | | | | | | | | fix the following 'make headers_check' warnings: usr/include/video/sisfb.h:25: include of <linux/types.h> is preferred over <asm/types.h> usr/include/video/sisfb.h:78: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: sound/hdsp.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/sound/hdsp.h:33: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: mtd/inftl-user.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/mtd/inftl-user.h:61: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/virtio_net.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/virtio_net.h:28: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/virtio_console.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/virtio_console.h:15: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/virtio_blk.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/virtio_blk.h:21: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/videodev.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/videodev.h:53: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/video_encoder.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/video_encoder.h:5: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/video_decoder.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/video_decoder.h:7: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/taskstats.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/taskstats.h:44: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/synclink.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/synclink.h:209: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/sound.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix the following 'make headers_check' warnings: usr/include/linux/sound.h:33: extern's make no sense in userspace usr/include/linux/sound.h:34: extern's make no sense in userspace usr/include/linux/sound.h:35: extern's make no sense in userspace usr/include/linux/sound.h:36: extern's make no sense in userspace usr/include/linux/sound.h:37: extern's make no sense in userspace usr/include/linux/sound.h:39: extern's make no sense in userspace usr/include/linux/sound.h:40: extern's make no sense in userspace usr/include/linux/sound.h:41: extern's make no sense in userspace usr/include/linux/sound.h:42: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/signalfd.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/signalfd.h:19: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/random.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/random.h:39: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/ppp_defs.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/ppp_defs.h:50: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/pkt_sched.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/pkt_sched.h:32: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/pkt_cls.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: linux/pkt_cls.h:122: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/phonet.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/phonet.h:50: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/nfs_idmap.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/nfs_idmap.h:55: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/neighbour.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/neighbour.h:8: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/msdos_fs.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/msdos_fs.h:100: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/minix_fs.hJaswinder Singh Rajput2009-01-311-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/minix_fs.h:34: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/irda.hJaswinder Singh Rajput2009-01-311-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/irda.h:127: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/ipx.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/ipx.h:13: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/ipv6_route.hJaswinder Singh Rajput2009-01-301-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/ipv6_route.h:42: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/ipv6.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/ipv6.h:26: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/ip6_tunnel.hJaswinder Singh Rajput2009-01-301-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: include/linux/ip6_tunnel.h:21: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/inet_diag.hJaswinder Singh Rajput2009-01-301-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/inet_diag.h:16: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/igmp.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/igmp.h:31: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/if_tr.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/if_tr.h:37: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/if_strip.hJaswinder Singh Rajput2009-01-301-0/+2
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/if_strip.h:22: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/if_ppp.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/if_ppp.h:96: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/if_link.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/if_link.h:9: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/if_hippi.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/if_hippi.h:82: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
| * headers_check fix: linux/if_fc.hJaswinder Singh Rajput2009-01-301-0/+1
| | | | | | | | | | | | | | | | fix the following 'make headers_check' warning: usr/include/linux/if_fc.h:37: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
OpenPOWER on IntegriCloud