aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-12-17block: Deprecate QUEUE_FLAG_CLUSTER and use queue_limits insteadMartin K. Petersen7-40/+13
When stacking devices, a request_queue is not always available. This forced us to have a no_cluster flag in the queue_limits that could be used as a carrier until the request_queue had been set up for a metadevice. There were several problems with that approach. First of all it was up to the stacking device to remember to set queue flag after stacking had completed. Also, the queue flag and the queue limits had to be kept in sync at all times. We got that wrong, which could lead to us issuing commands that went beyond the max scatterlist limit set by the driver. The proper fix is to avoid having two flags for tracking the same thing. We deprecate QUEUE_FLAG_CLUSTER and use the queue limit directly in the block layer merging functions. The queue_limit 'no_cluster' is turned into 'cluster' to avoid double negatives and to ease stacking. Clustering defaults to being enabled as before. The queue flag logic is removed from the stacking function, and explicitly setting the cluster flag is no longer necessary in DM and MD. Reported-by: Ed Lin <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]> Acked-by: Mike Snitzer <[email protected]> Cc: [email protected] Signed-off-by: Jens Axboe <[email protected]>
2010-12-17ARM: S5PV210: update MAX8998 platform data to get rid of WARN()Marek Szyprowski2-0/+12
This patch adds new entries required by the new version of MAX8998 driver. Without them, the driver fails to init. See commit 50f19a4596 Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2010-12-17ARM S3C24XX: Fix compilation of PM code for S3C2416Yauhen Kharuzhy3-1/+10
S3C2416 PM code uses low-level sleep routines from S3C2412 code, but these routines are compiled only for S3C2412 SoC. Split S3C2412_PM to two parts: S3C2412_PM, S3C2412_PM_SLEEP and select last in S3C2416's Kconfig. Signed-off-by: Yauhen Kharuzhy <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2010-12-17ARM: S3C24XX: Fix CONFIG_S3C_DEV_NAND Kconfig entryKukjin Kim1-1/+1
Should be CONFIG_S3C_DEV_NAND instead of CONFIG_S3C_DEVICE_NAND. Cc: Ben Dooks <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2010-12-16x86-32: Make sure we can map all of lowmem if we need toH. Peter Anvin2-6/+8
A relocatable kernel can be anywhere in lowmem -- and in the case of a kdump kernel, is likely to be fairly high. Since the early page tables map everything from address zero up we need to make sure we allocate enough brk that we can map all of lowmem if we need to. Reported-by: Stanislaw Gruszka <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]> Tested-by: Yinghai Lu <[email protected]> LKML-Reference: <[email protected]>
2010-12-16Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notifyLinus Torvalds7-38/+68
* 'for-linus' of git://git.infradead.org/users/eparis/notify: fanotify: fill in the metadata_len field on struct fanotify_event_metadata fanotify: split version into version and metadata_len fanotify: Dont try to open a file descriptor for the overflow event fanotify: Introduce FAN_NOFD fanotify: do not leak user reference on allocation failure inotify: stop kernel memory leak on file creation failure fanotify: on group destroy allow all waiters to bypass permission check fanotify: Dont allow a mask of 0 if setting or removing a mark fanotify: correct broken ref counting in case adding a mark failed fanotify: if set by user unset FMODE_NONOTIFY before fsnotify_perm() is called fanotify: remove packed from access response message fanotify: deny permissions when no event was sent
2010-12-16Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linusLinus Torvalds29-152/+350
* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (28 commits) MIPS: Add a CONFIG_FORCE_MAX_ZONEORDER Kconfig option. MIPS: LD/SD o32 macro GAS fix update MIPS: Alchemy: fix build with SERIAL_8250=n MIPS: Rename mips_dma_cache_sync back to dma_cache_sync MIPS: MT: Fix typo in comment. SSB: Fix nvram_get on BCM47xx platform MIPS: BCM47xx: Swap serial console if ttyS1 was specified. MIPS: BCM47xx: Use sscanf for parsing mac address MIPS: BCM47xx: Fill values for b43 into SSB sprom MIPS: BCM47xx: Do not read config from CFE MIPS: FDT size is a be32 MIPS: Fix CP0 COUNTER clockevent race MIPS: Fix regression on BCM4710 processor detection MIPS: JZ4740: Fix pcm device name MIPS: Separate two consecutive loads in memset.S MIPS: Send proper signal and siginfo on FP emulator faults. MIPS: AR7: Fix loops per jiffies on TNETD7200 devices MIPS: AR7: Fix double ar7_gpio_init declaration MIPS: Rework GENERIC_HARDIRQS Kconfig. MIPS: Alchemy: Add return value check for strict_strtoul() ...
2010-12-16PCI: Update MCP55 quirk to not affect non HyperTransport variantsNeil Horman1-0/+3
I wrote this quirk awhile ago to properly setup MCP55 chips on hypertransport busses so that interrupts reached whatever cpu happend to boot the kdump kernel. while that works well, it was recently shown to me that a a non-hypertransport variant of the MCP55 exists, and on those system the register that this quirk manipulates causes hangs if you write to it. Since the quirk was only meant to handle errors found on MCP55 chips that have a HT interface, this patch adds a filter to make sure the chip is an HT capable before making the needed register adjustment. This lets the broken MCP55s work with kdump while not breaking the non-HT variants. Resolves https://bugzilla.kernel.org/show_bug.cgi?id=23952 Tested successfully by the reporter and myself. Cc: [email protected] Reported-by: Mathieu Bérard <[email protected]> Acked-by: Vivek Goyal <[email protected]> Signed-off-by: Neil Horman <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
2010-12-16MIPS: Add a CONFIG_FORCE_MAX_ZONEORDER Kconfig option.David Daney1-0/+22
For huge page support with base page size of 16K or 32K, we have to increase the MAX_ORDER so that huge pages can be allocated. [Ralf: I don't think a user should have to configure obscure constants like this but for the time being this will have to suffice.] Signed-off-by: David Daney <[email protected]> To: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1685/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: LD/SD o32 macro GAS fix updateMaciej W. Rozycki2-4/+20
I am about to commit: http://sourceware.org/ml/binutils/2010-10/msg00033.html that fixes a problem with the LD/SD macro currently implemented by GAS for the o32 ABI in an inconsistent way. This is best illustrated with a simple program, which I'm copying here from the message above for easier reference: $ cat ld.s ld $5,32767($4) ld $5,32768($4) This gets assebled into the following output: $ mips-linux-as -32 -mips3 -o ld.o ld.s $ mips-linux-objdump -d ld.o ld.o: file format elf32-tradbigmips Disassembly of section .text: 00000000 <.text>: 0: dc857fff ld a1,32767(a0) 4: 3c010001 lui at,0x1 8: 00810821 addu at,a0,at c: 8c258000 lw a1,-32768(at) 10: 8c268004 lw a2,-32764(at) ... Oops! The GAS fix makes the macro behave in a consistent way and pairs of LW/SW instructions to be output as appropriate regardless of the size of the offset associated with the address used. The machine instruction is still available, but to reach it macros have to be disabled first. This has a side effect of requiring the use of a machine-addressable memory operand. As some platforms require 64-bit operations for accesses to some I/O registers LD/SD instructions are used in a couple of places in Linux regardless of the ABI selected. Here's a fix for some pieces of code affected I've been able to track down. The fix should be backwards compatible with all supported binutils releases in existence and can be used as a reference for any other places or off-tree code. The use of the "R" constraint guarantees a machine-addressable operand. Signed-off-by: Maciej W. Rozycki <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1680/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Alchemy: fix build with SERIAL_8250=nManuel Lauss1-0/+2
In commit 7d172bfe ("Alchemy: Add UART PM methods") I introduced platform PM methods which call a function of the 8250 driver; this patch works around link failures when the kernel is built without 8250 support. Signed-off-by: Manuel Lauss <[email protected]> To: Linux-MIPS <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1737/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Rename mips_dma_cache_sync back to dma_cache_syncRalf Baechle1-1/+3
This fixes IP22 and IP28 build errors. Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: MT: Fix typo in comment.Ralf Baechle1-1/+1
Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16SSB: Fix nvram_get on BCM47xx platformHauke Mehrtens1-6/+11
The nvram_get function was never in the mainline kernel, it only existed in an external OpenWrt patch. Use nvram_getenv function, which is in mainline and use an include instead of an extra function declaration. et0macaddr contains the mac address in text from like 00:11:22:33:44:55. We have to parse it before adding it into macaddr. nvram_parse_macaddr will be merged into asm/mach-bcm47xx/nvram.h through the MIPS git tree and will be available soon. It will not build now without nvram_parse_macaddr, but it hasn't before either. Signed-off-by: Hauke Mehrtens <[email protected]> To: [email protected] Cc: [email protected] Cc: [email protected] Cc: Hauke Mehrtens <[email protected]> Acked-by: Michael Buesch <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1849/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: BCM47xx: Swap serial console if ttyS1 was specified.Hauke Mehrtens1-0/+16
Some devices like the Netgear WGT634U are using ttyS1 for default console output. We should switch to that console if it was given in the kernel_args parameters. Signed-off-by: Hauke Mehrtens <[email protected]> To: [email protected] Cc: Hauke Mehrtens <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1848/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: BCM47xx: Use sscanf for parsing mac addressHauke Mehrtens2-20/+10
Instead of writing own function for parsing the mac address we now use sscanf. Signed-off-by: Hauke Mehrtens <[email protected]> To: [email protected] Cc: Hauke Mehrtens <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1847/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: BCM47xx: Fill values for b43 into SSB spromHauke Mehrtens1-22/+92
Fill the sprom with all available values from the nvram. Most of these new values are needed for the b43 or b43legacy driver. Parts of this patch have been in OpenWRT for a long time and were written by Michael Buesch. Signed-off-by: Hauke Mehrtens <[email protected]> To: [email protected] Cc: Hauke Mehrtens <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1846/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: BCM47xx: Do not read config from CFEHauke Mehrtens1-19/+9
The config options read out here are not stored in CFE but only in NVRAM on the devices. Remove reading from CFE and only access the NVRAM. Reading out CFE does not harm but is useless here. Signed-off-by: Hauke Mehrtens <[email protected]> To: [email protected] Cc: Hauke Mehrtens <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1845/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: FDT size is a be32Thomas Chou1-1/+1
The totalsize field was be32. And the reserve bootmem would cause failure. Signed-off-by: Thomas Chou <[email protected]> To: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: David Daney <[email protected]> Cc: Dezhong Diao <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1838/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Fix CP0 COUNTER clockevent raceKevin Cernekee1-1/+1
Consider the following test case: write_c0_compare(read_c0_count()); Even if the counter doesn't increment during execution, this might not generate an interrupt until the counter wraps around. The CPU may perform the comparison each time CP0 COUNT increments, not when CP0 COMPARE is written. If mips_next_event() is called with a very small delta, and CP0 COUNT increments during the calculation of "cnt += delta", it is possible that CP0 COMPARE will be written with the current value of CP0 COUNT. If this is detected, the function should return -ETIME, to indicate that the interrupt might not have actually gotten scheduled. Signed-off-by: Kevin Cernekee <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1836/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Fix regression on BCM4710 processor detectionKevin Cernekee2-7/+4
BCM4710 uses the BMIPS32 core (like BCM6345), not the MIPS 4Kc core as was previously believed. Signed-off-by: Kevin Cernekee <[email protected]> Tested-by: Alexandros C. Couloumbis <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1837/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: JZ4740: Fix pcm device nameLars-Peter Clausen1-1/+1
As part the ASoC multi-component patch (commit f0fba2ad) the jz4740 pcm driver was renamed to 'jz4740-pcm-audio'. Adjust the device name accordingly. Signed-off-by: Lars-Peter Clausen <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1770/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Separate two consecutive loads in memset.STony Wu1-2/+2
partial_fixup is used in noreorder block. Separating two consecutive loads can save one cycle on processors with GPR intrelock and can fix load-use on processors that need a load delay slot. Also do so for fwd_fixup. [Ralf: Only R2000/R3000 class processors are lacking the the load-user interlock and even some of those got it retrofitted. With R2000/R3000 being fairly uncommon these days the impact of this bug should be minor.] Signed-off-by: Tony Wu <[email protected]> To: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1768/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Send proper signal and siginfo on FP emulator faults.David Daney2-30/+130
We were unconditionally sending SIGBUS with an empty siginfo on FP emulator faults. This differs from what happens when real floating point hardware would get a fault. For most faults we need to send SIGSEGV with the faulting address filled in in the struct siginfo. Reported-by: Camm Maguire <[email protected]> Signed-off-by: David Daney <[email protected]> To: [email protected] Cc: Camm Maguire <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1727/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: AR7: Fix loops per jiffies on TNETD7200 devicesFlorian Fainelli3-6/+7
TNETD7200 run their CPU clock faster than the default CPU clock we assume. In order to have the correct loops per jiffies settings, initialize clocks right before setting mips_hpt_frequency. As a side effect, we can no longer use msleep in clocks.c which requires other parts of the kernel to be initialized, so replace these with mdelay. Signed-off-by: Florian Fainelli <[email protected]> To: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1749/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: AR7: Fix double ar7_gpio_init declarationFlorian Fainelli1-2/+0
Signed-off-by: Florian Fainelli <[email protected]> To: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1748/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Rework GENERIC_HARDIRQS Kconfig.David Daney1-14/+2
Recent changes to CONFIG_GENERIC_HARDIRQS have caused us to start getting: warning: (SMP && SYS_SUPPORTS_SMP) selects IRQ_PER_CPU which has unmet direct dependencies (HAVE_GENERIC_HARDIRQS) Rearranging our Kconfig quiets the message. Signed-off-by: David Daney <[email protected]> To: [email protected] Cc: Thomas Gleixner <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1757/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Alchemy: Add return value check for strict_strtoul()Yoichi Yuasa1-3/+2
arch/mips/alchemy/devboards/prom.c: In function 'prom_init': arch/mips/alchemy/devboards/prom.c:60: error: ignoring return value of 'strict_strtoul', declared with attribute warn_unused_result Signed-off-by: Yoichi Yuasa <[email protected]> Cc: linux-mips <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1761/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Loongson: Add return value check for strict_strtoul()Wu Zhangjin1-2/+2
cc1: warnings being treated as errors arch/mips/loongson/common/env.c: In function 'prom_init_env': arch/mips/loongson/common/env.c:49: error: ignoring return value of 'strict_strtol', declared with attribute warn_unused_result arch/mips/loongson/common/env.c:50: error: ignoring return value of 'strict_strtol', declared with attribute warn_unused_result arch/mips/loongson/common/env.c:51: error: ignoring return value of 'strict_strtol', declared with attribute warn_unused_result arch/mips/loongson/common/env.c:52: error: ignoring return value of 'strict_strtol', declared with attribute warn_unused_result Signed-off-by: Wu Zhangjin <[email protected]> Cc: linux-mips <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1762/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: VPE loader: Check vmalloc return value in vpe_openJesper Juhl1-8/+6
The return value of the vmalloc() call in arch/mips/kernel/vpe.c::vpe_open() is not checked, so we potentially store a null pointer in v->pbuffer. Add a check for a null return and then return -ENOMEM in that case. [Ralf: The check added by Jesper's original patch is where it logically should be. Adding it eleminated the need for the checks in a few other places, so I removed them. There still is a zillion of other things that need to be fixed in this file / API.] Signed-off-by: Jesper Juhl <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1747/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: compat: Don't clobber personality bits in 32-bit sys_personality().David Daney1-6/+7
If PER_LINUX32 has been set on a 32-bit kernel, only twiddle with the low-order personality bits, let the upper bits pass through. Signed-off-by: David Daney <[email protected]> To: [email protected] Cc: Camm Maguire <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1751/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Don't clobber personality high bits.David Daney1-2/+6
The high bits of current->personality carry settings that we don't want to clobber on each exec. Only clobber them if the lower bits that indicate either PER_LINUX or PER_LINUX32 are invalid. The clobbering prevents us from using useful bits like ADDR_NO_RANDOMIZE. Reported-by: Camm Maguire <[email protected]> Signed-off-by: David Daney <[email protected]> Cc: Camm Maguire <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1750/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: jz4740: Fix section mismatch in prom.cLars-Peter Clausen1-1/+1
This patch fixes the following section mismatch: WARNING: arch/mips/built-in.o(.text+0xc): Section mismatch in reference from the function jz4740_init_cmdline() to the variable .init.data:arcs_cmdline While were at it, make jz4740_init_cmdline static as well. Signed-off-by: Lars-Peter Clausen <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1755/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: jz4740: qi_lb60: Fix gpio for the 6th row of the keyboard matrixLars-Peter Clausen1-2/+2
This patch fixes the gpio number for the 6th row of the keyboard matrix. (And fixes a typo in my name...) Signed-off-by: Lars-Peter Clausen <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: https://patchwork.linux-mips.org/patch/1754/ Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Don't stomp on caller's ->regs[2] in copy_thread()Al Viro1-1/+0
We never needed that (->regs[2] is overwritten on return from syscall paths with return value of syscall, so storing it there early made no sense) and with new restart logics since d27240bf7e61d2656de18e158ec910a902030847 it has become really bad - we lose the original syscall number before the place where we decide that we might need a syscall restart. Note that for child we do need the assignment to regs[2] - it won't go through the normal return from syscall path. [Ralf: Issue found and reported by Lluís; initial investigations by me; bug finally found and patch by Al; testing by me and Lluís.] Signed-off-by: Al Viro <[email protected]> Tested-by: Lluís Batlle i Rossell <[email protected]> Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16MIPS: Swarm: Fix typo in symbol name: RTC_M4LT81 -> RTC_M41T81Ralf Baechle1-4/+4
Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linusLinus Torvalds3-10/+115
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: populate initial_page_table lguest: restore boot speed lguest: fix crash lguest_time_init
2010-12-16Merge branch 'for-linus' of ↵Linus Torvalds2-9/+12
git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix regression of garbage collection ioctl
2010-12-16Merge branch 'for-linus' of ↵Linus Torvalds3-57/+65
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 Input: wacom - add another Bamboo Pen ID (0xd4)
2010-12-16PM / Runtime: Fix pm_runtime_suspended()Rafael J. Wysocki2-3/+4
There are some situations (e.g. in __pm_generic_call()), where pm_runtime_suspended() is used to decide whether or not to execute a device's (system) ->suspend() callback. The callback is not executed if pm_runtime_suspended() returns true, but it does so for devices that don't even support runtime PM, because the power.disable_depth device field is ignored by it. This leads to problems (i.e. devices are not suspened when they should), so rework pm_runtime_suspended() so that it returns false if the device's power.disable_depth field is different from zero. Signed-off-by: Rafael J. Wysocki <[email protected]> Cc: [email protected]
2010-12-16PM / Hibernate: Restore old swap signature to avoid user space breakageRafael J. Wysocki1-1/+1
Commit 3624eb0 (PM / Hibernate: Modify signature used to mark swap) attempted to modify hibernate signature used to mark swap partitions containing hibernation images, so that old kernels don't try to handle compressed images. However, this change broke resume from hibernation on Fedora 14 that apparently doesn't pass the resume= argument to the kernel and tries to trigger resume from early user space. This doesn't work, because the signature is now different, so the old signature has to be restored to avoid the problem. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=22732 . Reported-by: Dr. David Alan Gilbert <[email protected]> Reported-by: Zhang Rui <[email protected]> Reported-by: Pascal Chapperon <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2010-12-16PM / Hibernate: Fix PM_POST_* notification with user-space suspendTakashi Iwai1-1/+1
The user-space hibernation sends a wrong notification after the image restoration because of thinko for the file flag check. RDONLY corresponds to hibernation and WRONLY to restoration, confusingly. Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]> Cc: [email protected]
2010-12-16Merge branch 'for-paul-rc' of git://gitorious.org/linux-omap-dss2/linux into ↵Paul Mundt2-4/+4
fbdev-fixes-for-linus * 'for-paul-rc' of git://gitorious.org/linux-omap-dss2/linux: OMAP: OMAPFB: disable old omapfb for OMAP4 builds OMAP: DSS: VRAM: Align start & size of vram to 2M
2010-12-16KVM: Fix preemption counter leak in kvm_timer_init()Avi Kivity1-1/+3
Based on a patch from Thomas Meyer. Signed-off-by: Avi Kivity <[email protected]>
2010-12-16Merge branch 'tip/perf/urgent' of ↵Ingo Molnar3-3/+13
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent
2010-12-16sched: Fix the irqtime code for 32bitPeter Zijlstra1-6/+45
Since the irqtime accounting is using non-atomic u64 and can be read from remote cpus (writes are strictly cpu local, reads are not) we have to deal with observing partial updates. When we do observe partial updates the clock movement (in particular, ->clock_task movement) will go funny (in either direction), a subsequent clock update (observing the full update) will make it go funny in the oposite direction. Since we rely on these clocks to be strictly monotonic we cannot suffer backwards motion. One possible solution would be to simply ignore all backwards deltas, but that will lead to accounting artefacts, most notable: clock_task + irq_time != clock, this inaccuracy would end up in user visible stats. Therefore serialize the reads using a seqcount. Reviewed-by: Venkatesh Pallipadi <[email protected]> Reported-by: Mikael Pettersson <[email protected]> Tested-by: Mikael Pettersson <[email protected]> Signed-off-by: Peter Zijlstra <[email protected]> LKML-Reference: <1292242434.6803.200.camel@twins> Signed-off-by: Ingo Molnar <[email protected]>
2010-12-16sched: Fix the irqtime code to deal with u64 wrapsPeter Zijlstra1-33/+50
Some ARM systems have a short sched_clock() [ which needs to be fixed too ], but this exposed a bug in the irq_time code as well, it doesn't deal with wraps at all. Fix the irq_time code to deal with u64 wraps by re-writing the code to only use delta increments, which avoids the whole issue. Reviewed-by: Venkatesh Pallipadi <[email protected]> Reported-by: Mikael Pettersson <[email protected]> Tested-by: Mikael Pettersson <[email protected]> Signed-off-by: Peter Zijlstra <[email protected]> LKML-Reference: <1292242433.6803.199.camel@twins> Signed-off-by: Ingo Molnar <[email protected]>
2010-12-16perf: Fix off by one in perf_swevent_init()Dan Carpenter1-1/+1
The perf_swevent_enabled[] array has PERF_COUNT_SW_MAX elements. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Peter Zijlstra <[email protected]> LKML-Reference: <20101024195041.GT5985@bicker> Signed-off-by: Ingo Molnar <[email protected]>
2010-12-16lguest: populate initial_page_tableRusty Russell3-5/+107
Two x86 patches broke lguest: 1) v2.6.35-492-g72d7c3b, which changed x86 to use the memblock allocator. In lguest, the host places linear page tables at the top of mem, which used to be enough to get us up to the swapper_pg_dir page tables. With the first patch, the direct mapping tables used that memory: Before: kernel direct mapping tables up to 4000000 @ 7000-1a000 After: kernel direct mapping tables up to 4000000 @ 3fed000-4000000 I initially fixed this by lying about the amount of memory we had, so the kernel wouldn't blatt the lguest boot pagetables (yuk!), but then... 2) v2.6.36-rc8-54-gb40827f, which made x86 boot use initial_page_table. This was initialized in a part of head_32.S which isn't executed by lguest; it is then copied into swapper_pg_dir. So we have to initialize it; and anyway we switch to it before we blatt the old tables, so that fixes the previous damage as well. For the moment, I cut & pasted the code into lguest's boot code, but next merge window I will merge them. Signed-off-by: Rusty Russell <[email protected]> Cc: Jeremy Fitzhardinge <[email protected]> Cc: Konrad Rzeszutek Wilk <[email protected]> To: [email protected]
2010-12-16lguest: restore boot speedRusty Russell1-4/+7
lguest is dumb and drops *all* the pagetables for set_pte (which is only used for kernel mapping manipulation, so it's OK without highmem). But it's used a lot in boot, too. As a guest optimization, we suppressed this flushing until the first page switch. Now we have initial_page_table, that happens much earlier, so extend the heuristic to wait until we switch to something other than the swapper_pg_dir or initial_page_table. As measured on my laptop under kvm, this dropped the time-to-mount-root from 48 seconds to 4.3 seconds. Signed-off-by: Rusty Russell <[email protected]>