aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-08-03cris: add missing declaration of kgdb_init() and breakpoint()WANG Cong1-0/+3
Fix: arch/cris/arch-v10/kernel/irq.c:239: error: implicit declaration of function 'kgdb_init' arch/cris/arch-v10/kernel/irq.c:240: error: implicit declaration of function 'breakpoint' Declare these two functions. Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: WANG Cong <[email protected]> Cc: Mikael Starvik <[email protected]> Cc: Jesper Nilsson <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03cris: fix the prototype of sync_serial_ioctl()WANG Cong1-1/+1
Fix: arch/cris/arch-v10/drivers/sync_serial.c:961: error: conflicting types for 'sync_serial_ioctl' Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: WANG Cong <[email protected]> Cc: Mikael Starvik <[email protected]> Cc: Jesper Nilsson <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03cris: fix a build error in sync_serial_open()WANG Cong1-2/+2
Fix: arch/cris/arch-v10/drivers/sync_serial.c:628: error: 'ret' undeclared (first use in this function) 'ret' should be 'err'. Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: WANG Cong <[email protected]> Cc: Mikael Starvik <[email protected]> Cc: Jesper Nilsson <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03cris: fix a build error in kernel/fork.cWANG Cong1-3/+3
Fix this error: kernel/fork.c:267: error: implicit declaration of function 'alloc_thread_info_node' This is due to renaming alloc_thread_info() to alloc_thread_info_node(). [[email protected]: coding-style fixes] Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: WANG Cong <[email protected]> Cc: Mikael Starvik <[email protected]> Cc: Jesper Nilsson <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03tpm_tis: fix build when ACPI is not enabledRandy Dunlap1-1/+6
Fix tpm_tis.c build when CONFIG_ACPI is not enabled by providing a stub function. Fixes many build errors/warnings: drivers/char/tpm/tpm_tis.c:89: error: dereferencing pointer to incomplete type drivers/char/tpm/tpm_tis.c:89: warning: type defaults to 'int' in declaration of 'type name' drivers/char/tpm/tpm_tis.c:89: error: request for member 'list' in something not a structure or union ... Signed-off-by: Randy Dunlap <[email protected]> Cc: Leendert van Doorn <[email protected]> Cc: James Morris <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Stephen Rothwell <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03mm: page_alloc: increase __GFP_BITS_SHIFT to include __GFP_OTHER_NODEJohannes Weiner1-1/+1
__GFP_OTHER_NODE is used for NUMA allocations on behalf of other nodes. It's supposed to be passed through from the page allocator to zone_statistics(), but it never gets there as gfp_allowed_mask is not wide enough and masks out the flag early in the allocation path. The result is an accounting glitch where successful NUMA allocations by-agent are not properly attributed as local. Increase __GFP_BITS_SHIFT so that it includes __GFP_OTHER_NODE. Signed-off-by: Johannes Weiner <[email protected]> Acked-by: Andi Kleen <[email protected]> Reviewed-by: Minchan Kim <[email protected]> Acked-by: Mel Gorman <[email protected]> Reviewed-by: Michal Hocko <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03ramoops: update module parametersSergiu Iordache1-0/+8
Update the module parameters when platform data is used. This means that they can be read from /sys/module/ramoops/parameters in order to parse the memory area. Signed-off-by: Sergiu Iordache <[email protected]> Cc: Marco Stornelli <[email protected]> Cc: Seiji Aguchi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03Documentation: add pointer to name_to_dev_t for root= valuesWill Drewry3-3/+25
Update kernel-parameters.txt to point users to the authoritative comment for name_to_dev_t. In addition, updates other places where some name_to_dev_t behavior was discussed. All other references to root= appear to be for explicit sample usage or just side comments when discussing other kernel parameters. Signed-off-by: Will Drewry <[email protected]> Cc: Kay Sievers <[email protected]> Cc: Randy Dunlap <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Trond Myklebust <[email protected]> Cc: Jens Axboe <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03fs/dcache.c: fix new kernel-doc warningRandy Dunlap1-0/+1
Fix new kernel-doc warning in fs/dcache.c: Warning(fs/dcache.c:797): No description found for parameter 'sb' Signed-off-by: Randy Dunlap <[email protected]> Cc: Al Viro <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03ida: simplified functions for id allocationRusty Russell2-0/+71
The current hyper-optimized functions are overkill if you simply want to allocate an id for a device. Create versions which use an internal lock. In followup patches, numerous drivers are converted to use this interface. Thanks to Tejun for feedback. Signed-off-by: Rusty Russell <[email protected]> Acked-by: Tejun Heo <[email protected]> Acked-by: Jonathan Cameron <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03taskstats: add_del_listener() should ignore !valid listenersOleg Nesterov1-1/+1
When send_cpu_listeners() finds the orphaned listener it marks it as !valid and drops listeners->sem. Before it takes this sem for writing, s->pid can be reused and add_del_listener() can wrongly try to re-use this entry. Change add_del_listener() to check ->valid = T. Signed-off-by: Oleg Nesterov <[email protected]> Reviewed-by: Vasiliy Kulikov <[email protected]> Acked-by: Balbir Singh <[email protected]> Cc: Jerome Marchand <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03taskstats: add_del_listener() shouldn't use the wrong nodeOleg Nesterov1-9/+7
1. Commit 26c4caea9d69 "don't allow duplicate entries in listener mode" changed add_del_listener(REGISTER) so that "next_cpu:" can reuse the listener allocated for the previous cpu, this doesn't look exactly right even if minor. Change the code to kfree() in the already-registered case, this case is unlikely anyway so the extra kmalloc_node() shouldn't hurt but looke more correct and clean. 2. use the plain list_for_each_entry() instead of _safe() to scan listeners->list. 3. Remove the unneeded INIT_LIST_HEAD(&s->list), we are going to list_add(&s->list). Signed-off-by: Oleg Nesterov <[email protected]> Reviewed-by: Vasiliy Kulikov <[email protected]> Cc: Balbir Singh <[email protected]> Reviewed-by: Jerome Marchand <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03rtc-omap: fix initialization of control registerDaniel Glöckner1-1/+1
As the comment explains, the intention of the code is to clear the OMAP_RTC_CTRL_MODE_12_24 bit, but instead it only clears the OMAP_RTC_CTRL_SPLIT and OMAP_RTC_CTRL_AUTO_COMP bits, which should be kept. OMAP_RTC_CTRL_DISABLE, OMAP_RTC_CTRL_SET_32_COUNTER, OMAP_RTC_CTRL_TEST, and OMAP_RTC_CTRL_ROUND_30S are also better off being cleared. Signed-off-by: Daniel Glöckner <[email protected]> Cc: Alessandro Zummo <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03fault-injection: add ability to export fault_attr in arbitrary directoryAkinobu Mita7-46/+33
init_fault_attr_dentries() is used to export fault_attr via debugfs. But it can only export it in debugfs root directory. Per Forlin is working on mmc_fail_request which adds support to inject data errors after a completed host transfer in MMC subsystem. The fault_attr for mmc_fail_request should be defined per mmc host and export it in debugfs directory per mmc host like /sys/kernel/debug/mmc0/mmc_fail_request. init_fault_attr_dentries() doesn't help for mmc_fail_request. So this introduces fault_create_debugfs_attr() which is able to create a directory in the arbitrary directory and replace init_fault_attr_dentries(). [[email protected]: extraneous semicolon, per Randy] Signed-off-by: Akinobu Mita <[email protected]> Tested-by: Per Forlin <[email protected]> Cc: Jens Axboe <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Pekka Enberg <[email protected]> Cc: Matt Mackall <[email protected]> Cc: Randy Dunlap <[email protected]> Cc: Stephen Rothwell <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-03mlx4: Fixing Ethernet unicast packet steeringYevgeny Petrilin2-1/+3
For older FW versions, fixing the usage of per port Mac table. For each port we must define the base QP number, which is passed to the HW. Setting the correct value in SET_PORT FW command to enable the steering. Reported-by: Roland Dreier <[email protected]> Tested-by: Roland Dreier <[email protected]> Signed-off-by: Yevgeny Petrilin <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-03Merge branch 'for-davem' of ↵David S. Miller17-41/+85
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2011-08-03cpuidle: stop depending on pm_idleLen Brown6-25/+33
cpuidle users should call cpuidle_call_idle() directly rather than via (pm_idle)() function pointer. Architecture may choose to continue using (pm_idle)(), but cpuidle need not depend on it: my_arch_cpu_idle() ... if(cpuidle_call_idle()) pm_idle(); cc: Kevin Hilman <[email protected]> cc: Paul Mundt <[email protected]> cc: [email protected] Acked-by: H. Peter Anvin <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03x86 idle: move mwait_idle_with_hints() to where it is usedLen Brown3-25/+23
...and make it static no functional change cc: [email protected] Acked-by: H. Peter Anvin <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03cpuidle: replace xen access to x86 pm_idle and default_idleLen Brown3-1/+8
When a Xen Dom0 kernel boots on a hypervisor, it gets access to the raw-hardware ACPI tables. While it parses the idle tables for the hypervisor's beneift, it uses HLT for its own idle. Rather than have xen scribble on pm_idle and access default_idle, have it simply disable_cpuidle() so acpi_idle will not load and architecture default HLT will be used. cc: [email protected] Tested-by: Konrad Rzeszutek Wilk <[email protected]> Acked-by: H. Peter Anvin <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03cpuidle: create bootparam "cpuidle.off=1"Len Brown5-0/+20
useful for disabling cpuidle to fall back to architecture-default idle loop cpuidle drivers and governors will fail to register. on x86 they'll say so: intel_idle: intel_idle yielding to (null) ACPI: acpi_idle yielding to (null) Signed-off-by: Len Brown <[email protected]>
2011-08-03mrst_pmu: driver for Intel Moorestown Power Management UnitLen Brown4-0/+1058
The Moorestown (MRST) Power Management Unit (PMU) driver directs the SOC power states in the "Langwell" south complex (SCU). It hooks pci_platform_pm_ops[] and thus observes all PCI ".set_state" requests. For devices in the SC, the pmu driver translates those PCI requests into the appropriate commands for the SCU. The PMU driver helps implement S0i3, a deep system idle power idle state. Entry into S0i3 is via cpuidle, just like regular processor c-states. S0i3 depends on pre-conditions including uni-processor, graphics off, and certain IO devices in the SC must be off. If those pre-conditions are met, then the PMU allows cpuidle to enter S0i3, otherwise such requests are demoted, either to Atom C4 or Atom C6. This driver is based on prototype work by Bruce Flemming, Illyas Mansoor, Rajeev D. Muralidhar, Vishwesh M. Rudramuni, Hari Seshadri and Sujith Thomas. The current driver also includes contributions from H. Peter Anvin, Arjan van de Ven, Kristen Accardi, and Yong Wang. Thanks for additional review feedback from Alan Cox and Randy Dunlap. Acked-by: Alan Cox <[email protected]> Acked-by: H. Peter Anvin <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03CIFS: Fix missing a decrement of inFlight valuePavel Shilovsky1-0/+2
if we failed on getting mid entry in cifs_call_async. Cc: [email protected] Signed-off-by: Pavel Shilovsky <[email protected]> Signed-off-by: Steve French <[email protected]>
2011-08-03ext4: use kzalloc in ext4_kzalloc()Mathias Krause1-1/+1
Commit 9933fc0i (ext4: introduce ext4_kvmalloc(), ext4_kzalloc(), and ext4_kvfree()) intruduced wrappers around k*alloc/vmalloc but introduced a typo for ext4_kzalloc() by not using kzalloc() but kmalloc(). Signed-off-by: Mathias Krause <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>
2011-08-03xen/self-balloon: Add dependency on tmem.Konrad Rzeszutek Wilk1-1/+1
Without enabling CONFIG_XEN_TMEM we get this: drivers/xen/xen-selfballoon.c:461: undefined reference to `tmem_enabled' Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2011-08-03xen/balloon: Fix compile errors - missing header files.Konrad Rzeszutek Wilk1-2/+2
With a specific enough .config file compile errors show for missing workqueue declarations. Reported-by: Randy Dunlap <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2011-08-03xen/grant: Fix compile warning.Konrad Rzeszutek Wilk1-1/+1
drivers/xen/grant-table.c:85: warning: ‘rc’ may be used uninitialized in this function Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2011-08-03xen/pciback: remove duplicated #includeHuang Weiyi1-1/+0
Remove duplicated #include('s) in drivers/xen/xen-pciback/xenbus.c Signed-off-by: Huang Weiyi <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2011-08-03drm/i915: Try enabling RC6 by default (again)Keith Packard1-1/+1
Jesse Barnes and I found a couple of issues where incorrect mode setting would cause problems with RC6 enabled. We're hopeful that fixing those will resolve the outstanding issues with a few machines that had trouble before 3.0 with rc6. Cc: Pekka Enberg <[email protected]> Cc: Francesco Allertsen <[email protected]> Cc: Ted Phelps <[email protected]> Cc: Gu Rui <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38567 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=38332 Signed-off-by: Keith Packard <[email protected]>
2011-08-03Merge branch 'drm-intel-fixes' into drm-intel-nextKeith Packard1-4/+11
2011-08-03Revert "drm/i915/dp: Zero the DPCD data before connection probe"Keith Packard1-1/+0
This reverts commit 97cdd7101079adc3c626d159c62d43de949516c8. Clearing the dpcd data means that if the fetch fails, any previous data will be lost. On eDP, this is no fun as we only fetch dpcd at init time, so the memset will destroy that the next time through.
2011-08-03Merge branch 'apei' into apei-releaseLen Brown35-135/+1172
Some trivial conflicts due to other various merges adding to the end of common lists sooner than this one. arch/ia64/Kconfig arch/powerpc/Kconfig arch/x86/Kconfig lib/Kconfig lib/Makefile Signed-off-by: Len Brown <[email protected]>
2011-08-03ACPI, APEI, EINJ Param support is disabled by defaultHuang Ying2-17/+33
EINJ parameter support is only usable for some specific BIOS. Originally, it is expected to have no harm for BIOS does not support it. But now, we found it will cause issue (memory overwriting) for some BIOS. So param support is disabled by default and only enabled when newly added module parameter named "param_extension" is explicitly specified. Signed-off-by: Huang Ying <[email protected]> Cc: Matthew Garrett <[email protected]> Acked-by: Don Zickus <[email protected]> Acked-by: Tony Luck <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03APEI GHES: 32-bit buildfixLen Brown1-2/+3
drivers/acpi/apei/ghes.c:542: warning: integer overflow in expression drivers/acpi/apei/ghes.c:619: warning: integer overflow in expression ghes.c:(.text+0x46289): undefined reference to `__udivdi3'   in function ghes_estatus_cache_add(). Reported-by: Randy Dunlap <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03ACPI: APEI build fixLen Brown2-2/+4
as GHES is optional... When # CONFIG_ACPI_APEI_GHES is not set: (.init.text+0x4c22): undefined reference to `ghes_disable' Reported-by: Randy Dunlap <[email protected]> Acked-by: Randy Dunlap <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03ACPI, APEI, GHES: Add hardware memory error recovery supportHuang Ying2-7/+24
memory_failure_queue() is called when recoverable memory errors are notified by firmware to do the recovery work. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03HWPoison: add memory_failure_queue()Huang Ying2-0/+93
memory_failure() is the entry point for HWPoison memory error recovery. It must be called in process context. But commonly hardware memory errors are notified via MCE or NMI, so some delayed execution mechanism must be used. In MCE handler, a work queue + ring buffer mechanism is used. In addition to MCE, now APEI (ACPI Platform Error Interface) GHES (Generic Hardware Error Source) can be used to report memory errors too. To add support to APEI GHES memory recovery, a mechanism similar to that of MCE is implemented. memory_failure_queue() is the new entry point that can be called in IRQ context. The next step is to make MCE handler uses this interface too. Signed-off-by: Huang Ying <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Wu Fengguang <[email protected]> Cc: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03ACPI, APEI, GHES, Error records content based throttleHuang Ying1-7/+177
printk is used by GHES to report hardware errors. Ratelimit is enforced on the printk to avoid too many hardware error reports in kernel log. Because there may be thousands or even millions of corrected hardware errors during system running. Currently, a simple scheme is used. That is, the total number of hardware error reporting is ratelimited. This may cause some issues in practice. For example, there are two kinds of hardware errors occurred in system. One is corrected memory error, because the fault memory address is accessed frequently, there may be hundreds error report per-second. The other is corrected PCIe AER error, it will be reported once per-second. Because they share one ratelimit control structure, it is highly possible that only memory error is reported. To avoid the above issue, an error record content based throttle algorithm is implemented in the patch. Where after the first successful reporting, all error records that are same are throttled for some time, to let other kinds of error records have the opportunity to be reported. In above example, the memory errors will be throttled for some time, after being printked. Then the PCIe AER error will be printked successfully. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03ACPI, APEI, GHES, printk support for recoverable error via NMIHuang Ying2-18/+193
Some APEI GHES recoverable errors are reported via NMI, but printk is not safe in NMI context. To solve the issue, a lock-less memory allocator is used to allocate memory in NMI handler, save the error record into the allocated memory, put the error record into a lock-less list. On the other hand, an irq_work is used to delay the operation from NMI context to IRQ context. The irq_work IRQ handler will remove nodes from lock-less list, printk the error record and do some further processing include recovery operation, then free the memory. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03lib, Make gen_pool memory allocator locklessHuang Ying4-65/+272
This version of the gen_pool memory allocator supports lockless operation. This makes it safe to use in NMI handlers and other special unblockable contexts that could otherwise deadlock on locks. This is implemented by using atomic operations and retries on any conflicts. The disadvantage is that there may be livelocks in extreme cases. For better scalability, one gen_pool allocator can be used for each CPU. The lockless operation only works if there is enough memory available. If new memory is added to the pool a lock has to be still taken. So any user relying on locklessness has to ensure that sufficient memory is preallocated. The basic atomic operation of this allocator is cmpxchg on long. On architectures that don't have NMI-safe cmpxchg implementation, the allocator can NOT be used in NMI handler. So code uses the allocator in NMI handler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG. Signed-off-by: Huang Ying <[email protected]> Reviewed-by: Andi Kleen <[email protected]> Reviewed-by: Mathieu Desnoyers <[email protected]> Cc: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03lib, Add lock-less NULL terminated single listHuang Ying4-0/+260
Cmpxchg is used to implement adding new entry to the list, deleting all entries from the list, deleting first entry of the list and some other operations. Because this is a single list, so the tail can not be accessed in O(1). If there are multiple producers and multiple consumers, llist_add can be used in producers and llist_del_all can be used in consumers. They can work simultaneously without lock. But llist_del_first can not be used here. Because llist_del_first depends on list->first->next does not changed if list->first is not changed during its operation, but llist_del_first, llist_add, llist_add (or llist_del_all, llist_add, llist_add) sequence in another consumer may violate that. If there are multiple producers and one consumer, llist_add can be used in producers and llist_del_all or llist_del_first can be used in the consumer. This can be summarized as follow: | add | del_first | del_all add | - | - | - del_first | | L | L del_all | | | - Where "-" stands for no lock is needed, while "L" stands for lock is needed. The list entries deleted via llist_del_all can be traversed with traversing function such as llist_for_each etc. But the list entries can not be traversed safely before deleted from the list. The order of deleted entries is from the newest to the oldest added one. If you want to traverse from the oldest to the newest, you must reverse the order by yourself before traversing. The basic atomic operation of this list is cmpxchg on long. On architectures that don't have NMI-safe cmpxchg implementation, the list can NOT be used in NMI handler. So code uses the list in NMI handler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG. Signed-off-by: Huang Ying <[email protected]> Reviewed-by: Andi Kleen <[email protected]> Reviewed-by: Mathieu Desnoyers <[email protected]> Cc: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHGHuang Ying13-0/+15
cmpxchg() is widely used by lockless code, including NMI-safe lockless code. But on some architectures, the cmpxchg() implementation is not NMI-safe, on these architectures the lockless code may need a spin_trylock_irqsave() based implementation. This patch adds a Kconfig option: ARCH_HAVE_NMI_SAFE_CMPXCHG, so that NMI-safe lockless code can depend on it or provide different implementation according to it. On many architectures, cmpxchg is only NMI-safe for several specific operand sizes. So, ARCH_HAVE_NMI_SAFE_CMPXCHG define in this patch only guarantees cmpxchg is NMI-safe for sizeof(unsigned long). Signed-off-by: Huang Ying <[email protected]> Acked-by: Mike Frysinger <[email protected]> Acked-by: Paul Mundt <[email protected]> Acked-by: Hans-Christian Egtvedt <[email protected]> Acked-by: Benjamin Herrenschmidt <[email protected]> Acked-by: Chris Metcalf <[email protected]> Acked-by: Richard Henderson <[email protected]> CC: Mikael Starvik <[email protected]> Acked-by: David Howells <[email protected]> CC: Yoshinori Sato <[email protected]> CC: Tony Luck <[email protected]> CC: Hirokazu Takata <[email protected]> CC: Geert Uytterhoeven <[email protected]> CC: Michal Simek <[email protected]> Acked-by: Ralf Baechle <[email protected]> CC: Kyle McMartin <[email protected]> CC: Martin Schwidefsky <[email protected]> CC: Chen Liqin <[email protected]> CC: "David S. Miller" <[email protected]> CC: Ingo Molnar <[email protected]> CC: Chris Zankel <[email protected]> Signed-off-by: Len Brown <[email protected]>
2011-08-03[S390] signal: use set_restore_sigmask() helperHeiko Carstens1-1/+1
We should call set_restore_sigmask() instead of directly setting TIF_RESTORE_SIGMASK. This change should have been done three years earlier... see 4e4c22 "signals: add set_restore_sigmask". Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] smp: remove pointless comments in startup_secondary()Heiko Carstens1-6/+0
Remove pointless comments in startup_secondary(). There is not too much value in having comments like e.g. "call cpu notifiers" just before a call to notify_cpu*(). Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] qdio: Use kstrtoul_from_userPeter Huewe1-9/+3
This patch replaces the code for getting an unsigned long from a userspace buffer by a simple call to kstroul_from_user. This makes it easier to read and less error prone. Signed-off-by: Peter Huewe <[email protected]> Acked-by: Jan Glauber <[email protected]> Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] sclp_async: Use kstrtoul_from_userPeter Huewe1-6/+3
This patch replaces the code for getting an unsigned long from a userspace buffer by a simple call to kstroul_from_user. This makes it easier to read and less error prone. Signed-off-by: Peter Huewe <[email protected]> Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] exec: remove redundant set_fs(USER_DS)Mathias Krause1-2/+0
The address limit is already set in flush_old_exec() so those calls to set_fs(USER_DS) are redundant. Signed-off-by: Mathias Krause <[email protected]> Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] cpu hotplug: on cpu start wait until being marked activeHeiko Carstens1-1/+6
This is the same as fd8a7de1 "x86: cpu-hotplug: Prevent softirq wakeup on wrong CPU". Unlike on x86 this doesn't fix a bug on s390 since we do not have threaded interrupt handlers. However we want to keep the same initialization order like on x86. This should prevent bugs caused by code which assumes (and relies on) the init order is the same on each architecture. Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] signal: convert to use set_current_blocked()Heiko Carstens2-72/+30
Convert to use set_current_blocked() like x86. Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] asm offsets: fix coding styleHeiko Carstens1-6/+3
Because of readability reasons we ignore the 80 character line limit in asm offsets. Just one line per define, nothing else. Signed-off-by: Heiko Carstens <[email protected]>
2011-08-03[S390] Add support for IBM zEnterprise 114Heiko Carstens2-4/+5
Just fix up the Kconfig description and the elf platform. Signed-off-by: Heiko Carstens <[email protected]>