31 Jul, 2008
20 commits
-
It was pointed out that the RTC framework handles its mutex locks oddly
... returning -EBUSY when interrupted. This fixes that by returning the
value of mutex_lock_interruptible() (i.e. -EINTR).Signed-off-by: David Brownell
Acked-by: Alessandro Zummo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The mutex is released on a successful return, so it would seem that it
should be released on an error return as well.The semantic patch finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)//
@@
expression l;
@@mutex_lock(l);
... when != mutex_unlock(l)
when any
when strict
(
if (...) { ... when != mutex_unlock(l)
+ mutex_unlock(l);
return ...;
}
|
mutex_unlock(l);
)
//Signed-off-by: Julia Lawall
Acked-by: Krzysztof Helt
Acked-by: Ondrej Zajicek
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Static (read: global) is potential problem. Two threads can corrupt each
other's interrupt status, better avoid this.Signed-off-by: Alexey Dobriyan
Cc: Wim Van Sebroeck
Cc: Thomas Mingarelli
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Exporting __init functions is wrong.
Signed-off-by: Jan Beulich
Acked-by: Konrad Rzeszutek
Cc: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
It seems that we need to ensure that the lcd is powered up at start,
otherwise we do not see a display.Signed-off-by: Ben Dooks
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use cpuset.stack_list rather than kfifo, so we avoid memory allocation
for kfifo.Signed-off-by: Li Zefan
Signed-off-by: Lai Jiangshan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Cc: KAMEZAWA Hiroyuki
Cc: Paul Jackson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When multiple cpusets are overlapping in their 'cpus' and hence they
form a single sched domain, the largest sched_relax_domain_level among
those should be used. But when top_cpuset's sched_load_balance is
set, its sched_relax_domain_level is used regardless other sub-cpusets'.This patch fixes it by walking the cpuset hierarchy to find the largest
sched_relax_domain_level.Signed-off-by: Lai Jiangshan
Signed-off-by: Li Zefan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Cc: KAMEZAWA Hiroyuki
Reviewed-by: Paul Jackson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
All child cpusets contain a subset of the parent's cpus, so we can skip
them when partitioning sched domains. This decreases 'csa' greately for
cpusets with multi-level hierarchy.Signed-off-by: Lai Jiangshan
Signed-off-by: Li Zefan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Cc: KAMEZAWA Hiroyuki
Reviewed-by: Paul Jackson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
clean up hierarchy traversal code
Signed-off-by: Li Zefan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Cc: KAMEZAWA Hiroyuki
Cc: Paul Jackson
Cc: Cliff Wickman
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
It's guaranteed by cgroup that old_cgrp != cgrp.
Signed-off-by: Li Zefan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Acked-by: KAMEZAWA Hiroyuki
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
It's not small enough, and has 2 call sites.
text data bss dec hex filename
12813 1676 4832 19321 4b79 cgroup.o.orig
12775 1676 4832 19283 4b53 cgroup.oSigned-off-by: Li Zefan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Cc: KAMEZAWA Hiroyuki
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
- just call free_cg_links() in allocate_cg_links()
- the list will get initialized in allocate_cg_links(), so don't init
it twiceSigned-off-by: Li Zefan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Cc: KAMEZAWA Hiroyuki
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
There's a leak if copy_from_user() returns failure.
Signed-off-by: Li Zefan
Cc: Paul Menage
Cc: Cedric Le Goater
Cc: Balbir Singh
Cc: KAMEZAWA Hiroyuki
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
It has no user now
Also print out info about adding/removing active regions.
Signed-off-by: Yinghai Lu
Acked-by: Mel Gorman
Acked-by: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This commit:
commit ba52de123d454b57369f291348266d86f4b35070
Author: Theodore Ts'o
Date: Wed Sep 27 01:50:49 2006 -0700[PATCH] inode-diet: Eliminate i_blksize from the inode structure
caused the block size used by pseudo-filesystems to decrease from
PAGE_SIZE to 1024 leading to a doubling of the number of context switches
during a kernbench run.Signed-off-by: Alex Nixon
Cc: Andi Kleen
Cc: Jeremy Fitzhardinge
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Ian Campbell
Cc: "Theodore Ts'o"
Cc: Alexander Viro
Cc: Hugh Dickins
Cc: Jens Axboe
Cc: [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
On HPPA there exists some older GSC graphics cards, which need special
graphic-card-BIOS patching to become supported. Since we don't have yet
implemented the patching, it's better to detect such cards in advance,
inform to the user that there are known problems and to not activate the
card.Problematic GSC cards and BIOS versions are:
* Hyperdrive/Hyperbowl (A4071A) graphics card series:
* ID = 0x2BCB015A (Version 8.04/8)
* ID = 0x2BCB015A (Version 8.04/11)
* Thunder 1 VISUALIZE 48 card:
* ID = 0x2F23E5FC (Version 8.05/9)
* Thunder 2 VISUALIZE 48 XP card:
* ID = 0x2F8D570E (Version 8.05/12)
* Some Hyperion and ThunderHawk GSC cardsFurther details are described here:
http://parisc-linux.org/faq/graphics-howto.htmlSigned-off-by: Helge Deller
Cc: Kyle McMartin
Cc: Krzysztof Helt
Cc: "Antonino A. Daplas"
Cc: Grant Grundler
Cc: Matthew Wilcox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Thomas Renninger
Cc: Andi Kleen
Cc: Len Brown
Cc: Dave Jones
Cc: Ingo Molnar
Cc: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Ingo Molnar provided a fix to not call _PPC at processor driver
initialization time in "[PATCH] ACPI: fix cpufreq regression" (git
commit e4233dec749a3519069d9390561b5636a75c7579)But it can still happen that _PPC is called at processor driver
initialization time.This patch should make sure that this is not possible anymore.
Signed-off-by: Thomas Renninger
Cc: Andi Kleen
Cc: Len Brown
Cc: Dave Jones
Cc: Ingo Molnar
Cc: Venkatesh Pallipadi
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Avoid one-off errors by introducing a resource_size() function.
Signed-off-by: Magnus Damm
Cc: Ben Dooks
Cc: Jean Delvare
Cc: Paul Mundt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When registering an platform_lcd, use the name of the platform device
specified in case there are more than one platform_lcd backlights
registered.Signed-off-by: Ben Dooks
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
29 Jul, 2008
20 commits
-
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
lguest: turn Waker into a thread, not a process
lguest: Enlarge virtio rings
lguest: Use GSO/IFF_VNET_HDR extensions on tun/tap
lguest: Remove 'network: no dma buffer!' warning
lguest: Adaptive timeout
lguest: Tell Guest net not to notify us on every packet xmit
lguest: net block unneeded receive queue update notifications
lguest: wrap last_avail accesses.
lguest: use cpu capability accessors
lguest: virtio-rng support
lguest: Support assigning a MAC address
lguest: Don't leak /dev/zero fd
lguest: fix verbose printing of device features.
lguest: fix switcher_page leak on unload
lguest: Guest int3 fix
lguest: set max_pfn_mapped, growl loudly at Yinghai Lu -
* 'for-linus' of git://git.o-hand.com/linux-mfd:
mfd: accept pure device as a parent, not only platform_device
mfd: add platform_data to mfd_cell
mfd: Coding style fixes
mfd: Use to_platform_device instead of container_of -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)
x86/PCI: use dev_printk when possible
PCI: add D3 power state avoidance quirk
PCI: fix bogus "'device' may be used uninitialized" warning in pci_slot
PCI: add an option to allow ASPM enabled forcibly
PCI: disable ASPM on pre-1.1 PCIe devices
PCI: disable ASPM per ACPI FADT setting
PCI MSI: Don't disable MSIs if the mask bit isn't supported
PCI: handle 64-bit resources better on 32-bit machines
PCI: rewrite PCI BAR reading code
PCI: document pci_target_state
PCI hotplug: fix typo in pcie hotplug output
x86 gart: replace to_pages macro with iommu_num_pages
x86, AMD IOMMU: replace to_pages macro with iommu_num_pages
iommu: add iommu_num_pages helper function
dma-coherent: add documentation to new interfaces
Cris: convert to using generic dma-coherent mem allocator
Sh: use generic per-device coherent dma allocator
ARM: support generic per-device coherent dma mem
Generic dma-coherent: fix DMA_MEMORY_EXCLUSIVE
x86: use generic per-device dma coherent allocator
... -
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] qla2xxx: fix msleep compile error -
Alexey Dobriyan reported trouble with LTP with the new fast-gup code,
and Johannes Weiner debugged it to non-page-aligned addresses, where the
new get_user_pages_fast() code would do all the wrong things, including
just traversing past the end of the requested area due to 'addr' never
matching 'end' exactly.This is not a pretty fix, and we may actually want to move the alignment
into generic code, leaving just the core code per-arch, but Alexey
verified that the vmsplice01 LTP test doesn't crash with this.Reported-and-tested-by: Alexey Dobriyan
Debugged-by: Johannes Weiner
Cc: Nick Piggin
Cc: Andrew Morton
Signed-off-by: Linus Torvalds -
lguest uses a Waker process to break it out of the kernel (ie.
actually running the guest) when file descriptor needs attention.Changing this from a process to a thread somewhat simplifies things:
it can directly access the fd_set of things to watch. More
importantly, it means that the Waker can see Guest memory correctly,
so /dev/vring file descriptors will work as anticipated (the
alternative is to actually mmap MAP_SHARED, but you can't do that with
/dev/zero).Signed-off-by: Rusty Russell
-
With big packets, 128 entries is a little small.
Guest -> Host 1GB TCP:
Before: 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252
After: 8.01099 seconds xmit 49200 recv 102263 timeout 26014 usec 2118Signed-off-by: Rusty Russell
-
Guest -> Host 1GB TCP:
Before 20.1974 seconds xmit 214510 recv 5 timeout 214491 usec 278
After 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252Host -> Guest 1GB TCP:
Before: Seconds 9.98854 xmit 172166 recv 5344 timeout 172157 usec 251
After: Seconds 5.72803 xmit 244322 recv 9919 timeout 244302 usec 156Signed-off-by: Rusty Russell
-
This warning can happen a lot under load, and it should be warnx not
warn anwyay.Signed-off-by: Rusty Russell
-
Since the correct timeout value varies, use a heuristic which adjusts
the timeout depending on how many packets we've seen. This gives
slightly worse results, but doesn't need tweaking when GSO is
introduced.500 usec 19.1887 xmit 561141 recv 1 timeout 559657
Dynamic (278) 20.1974 xmit 214510 recv 5 timeout 214491 usec 278Signed-off-by: Rusty Russell
-
virtio_ring has the ability to suppress notifications. This prevents
a guest exit for every packet, but we need to set a timer on packet
receipt to re-check if there were any remaining packets.Here are the times for 1G TCP Guest->Host with different timeout
settings (it matters because the TCP window doesn't grow big enough to
fill the entire buffer):Timeout value Seconds Xmit/Recv/Timeout
None (before) 25.3784 xmit 7750233 recv 1
2500 usec 62.5119 xmit 207020 recv 2 timeout 207020
1000 usec 34.5379 xmit 207003 recv 2 timeout 207003
750 usec 29.2305 xmit 207002 recv 1 timeout 207002
500 usec 19.1887 xmit 561141 recv 1 timeout 559657
250 usec 20.0465 xmit 214128 recv 2 timeout 214110
100 usec 19.2583 xmit 561621 recv 1 timeout 560153(Note that these values are sensitive to the GSO patches which come
later, and probably other traffic-related variables, so take with a
large grain of salt).Signed-off-by: Rusty Russell
-
Number of exits transmitting 10GB Guest->Host before:
network xmit 7858610 recv 118136After:
network xmit 7750233 recv 1Signed-off-by: Rusty Russell
-
To simplify the transition to when we publish indices in the ring
(and make shuffling my patch queue easier), wrap them in a lg_last_avail()
macro.Signed-off-by: Rusty Russell
-
To support my little make-x86-bitops-use-proper-typechecking projectlet.
Cc: Thomas Gleixner
Cc: Andrea Arcangeli
Signed-off-by: Andrew Morton
Acked-by: Ingo Molnar
Signed-off-by: Rusty Russell -
This is a simple patch to add support for the virtio "hardware random
generator" to lguest. It gets about 1.2 MB/sec reading from /dev/hwrng
in the guest.Signed-off-by: Rusty Russell
-
If you've got a nice DHCP configuration which maps MAC
addresses to specific IP addresses, then you're going to
want to start your guest with one of those MAC addresses.Also, in Fedora, we have persistent network interface naming
based on the MAC address, so with randomly assigned
addresses you're soon going to hit eth13. Who knows what
will happen then!Allow assigning a MAC address to the network interface with
e.g.--tunnet=bridge:eth0:00:FF:95:6B:DA:3D
or:
--tunnet=192.168.121.1:00:FF:95:6B:DA:3D
which is pretty unintelligable, but ...
(includes Rusty's minor rework)
Signed-off-by: Mark McLoughlin
Signed-off-by: Rusty Russell -
Signed-off-by: Mark McLoughlin
Signed-off-by: Rusty Russell -
%02x is more appropriate for bytes than %08x.
Signed-off-by: Rusty Russell
-
map_switcher allocates the array, unmap_switcher has to free it
accordingly.Signed-off-by: Johannes Weiner
Signed-off-by: Rusty Russell