aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-09-26staging: comedi: s626: store the pci_dev in the comedi_deviceH Hartley Sweeten1-13/+15
Use the hw_dev pointer in the comedi_device struct to hold the pci_dev instead of carrying it in the private data. Signed-off-by: H Hartley Sweeten <[email protected]> Cc: Ian Abbott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: comedi: s626: use attach_pci callbackH Hartley Sweeten1-41/+4
Convert this PCI driver to use the comedi PCI auto config attach mechanism by adding an 'attach_pci' callback function. Since the driver does not require any external configuration options, and the legacy 'attach' callback is not optional, remove it. Signed-off-by: H Hartley Sweeten <[email protected]> Cc: Ian Abbott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: comedi: s626: remove boardinfoH Hartley Sweeten1-59/+21
This driver only supports one board type. Move the used board info out of the boardinfo struct and remove it. Signed-off-by: H Hartley Sweeten <[email protected]> Cc: Ian Abbott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: comedi: ni_daq_700: add AI subdeviceIan Abbott1-10/+126
Add subdevice 1 as an analog input (AI) subdevice. It currently only supports basic, software-triggered acquisitions. This is mostly the work of Fred Brooks (MODULE_AUTHOR), but he based his update on an older version of the driver. I applied the relevant changes with a few tweaks: adding an explicit `udelay(1)` in a timeout loop, replacing binary constants with hex, renaming functions, replacing `printk()` calls, removing exported symbols, removing (very) incomplete comedi "command" support, and making some coding-style changes. Signed-off-by: Ian Abbott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: comedi: ni_daq_700: rename functions for DIO subdeviceIan Abbott1-6/+6
Rename `subdev_700_insn()` to `daq700_dio_insn_bits()` and `subdev_700_insn_config()` to `daq700_dio_insn_config()`. Signed-off-by: Ian Abbott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: comedi: ni_daq_700: use prefix daq700Ian Abbott1-30/+30
Rename a few functions and variables to use the prefix `daq700` instead of the prefix or suffix `dio700`. Signed-off-by: Ian Abbott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for _stCPacketClassificationRuleSI and call ↵Kevin McKinney1-9/+3
directly. This patch removes typedef for _stCPacketClassificationRuleSI, changes the name of the struct to bcm_packet_class_rules, and updates the comments appropriately . In addition, any calls to typedefs "CCPacketClassificationRuleSI, stCPacketClassificationRuleSI, or *pstCPacketClassificationRuleSI" are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for _stPhsRuleSI and call directly.Kevin McKinney1-6/+4
This patch removes typedef for _stPhsRuleSI, changes the name of the struct to bcm_phs_rules, and updates the comments appropriately. In addition, any calls to typedefs "stPhsRuleSI, *pstPhsRuleSI, or CPhsRuleSI" are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for _stConvergenceSLTypes and call directly.Kevin McKinney2-12/+10
This patch removes typedef for _stConvergenceSLTypes, changes the name of the struct to bcm_convergence_types, and updates the comments appropriately. In addition, any calls to typedefs "stConvergenceSLTypes, CConvergenceSLTypes, and *pstConvergenceSLTypes" are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for _stServiceFlowParamSI and call directly.Kevin McKinney5-64/+40
This patch removes typedef for _stServiceFlowParamSI, changes the name of the struct to bcm_connect_mgr_params, and updates the comments appropriately. In addition, any calls to typedefs "stServiceFlowParamSI, *pstServiceFlowParamSI, and CServiceFlowParamSI" are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for _stLocalSFAddRequest and call directly.Kevin McKinney2-9/+5
This patch removes typedef for _stLocalSFAddRequest, and changes the name of the struct to bcm_add_request. In addition, any calls to typedefs "stLocalSFAddRequest or *pstLocalSFAddRequest" are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for _stLocalSFAddIndication and call directly.Kevin McKinney2-23/+9
This patch removes typedef for _stLocalSFAddIndication, and changes the name of the struct to bcm_add_indication. In addition, any calls to typedefs "stLocalSFAddIndication, *pstLocalSFAddIndication, stLocalSFChangeRequest, *pstLocalSFChangeRequest, stLocalSFChangeIndication, or *pstLocalSFChangeIndication " are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for _stLocalSFDeleteRequest and call directly.Kevin McKinney2-7/+4
This patch removes typedef for _stLocalSFDeleteRequest, and changes the name of the struct to bcm_del_request. In addition, any calls to typedefs "stLocalSFDeleteRequest or *pstLocalSFDeleteRequest" are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: bcm: Remove typedef for stLocalSFDeleteIndication and call directly.Kevin McKinney2-9/+6
This patch removes typedef for stLocalSFDeleteIndication, and changes the name of the struct to bcm_del_indication. In addition, any calls to the following typedef "stLocalSFDeleteIndication" are changed to call the struct directly. Signed-off-by: Kevin McKinney <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: rtl8712: fix foo* bar (foo*) errors reported by checkpatchDevendra Naga1-4/+4
fixes the following errors: drivers/staging/rtl8712/rtl871x_security.c:61: ERROR: "foo * bar" should be "foo *bar" drivers/staging/rtl8712/rtl871x_security.c:291: ERROR: "foo * bar" should be "foo *bar" drivers/staging/rtl8712/rtl871x_security.c:323: ERROR: "foo * bar" should be "foo *bar" drivers/staging/rtl8712/rtl871x_security.c:1371: ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Devendra Naga <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: rtl8712: fix a foo * bar errors reported by checkpatchDevendra Naga1-1/+1
fixes the following error: drivers/staging/rtl8712/rtl8712_xmit.c:379: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Devendra Naga <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: rtl8712: remove assignment of 0 to a static global variableDevendra Naga1-1/+1
fixes the following checkpatch warning: drivers/staging/rtl8712/os_intfs.c:99: ERROR: do not initialise statics to 0 or NULL as statics are always initialised to 0. Signed-off-by: Devendra Naga <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging: rts5139: use kzalloc() to close an info leakDan Carpenter1-1/+1
If we don't fill the whole buffer then there is information leaked to the user. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26staging "wlan-ng" Fix typos.Justin P. Mattock4-5/+5
Signed-off-by: Justin P. Mattock <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: winbond: Removed undesired spaces, lines and tabsHarsh Kumar1-14/+10
checkpatch cleanup: Removed some undesired spaces, lines and tabs to comply with coding style. Signed-off-by: Harsh Kumar <[email protected]> Acked-by: Pavel Machek <[email protected]> Reviewed-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26Staging: winbond: Changed c99 comments to c89 commentsHarsh Kumar1-20/+16
checkpatch cleanup: Changed c99 comments to c89 comments Signed-off-by: Harsh Kumar <[email protected]> Acked-by: Pavel Machek <[email protected]> Reviewed-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-26perf evsel: Know if byte swap is neededArnaldo Carvalho de Melo9-18/+24
Instead of passing it around for parsing as an explicit parameter, will help with reading tracepoint fields when not using a perf session or pevent structure, i.e. for non perf.data centered workflows. Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2012-09-26perf tools: Allow handling a NULL cpu_map as meaning "all cpus"Arnaldo Carvalho de Melo2-6/+17
Or one with cpu_map->map[0] == -1. Reducing the boilerplate in setting up an evlist by nor requiring a cpu_map to be created at all. Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2012-09-26perf evsel: Improve tracepoint constructor setupArnaldo Carvalho de Melo1-1/+5
It needs to properly set the sample_type, sample_period and the KVM related perf_event_attr fields. Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2012-09-26rcu: Apply micro-optimization and int/bool fixes to RCU's idle handlingPaul E. McKenney1-8/+8
Checking "user" before "is_idle_task()" allows better optimizations in cases where inlining is possible. Also, "bool" should be passed "true" or "false" rather than "1" or "0". This commit therefore makes these changes, as noted in Josh's review. Reported-by: Josh Triplett <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26rcu: Userspace RCU extended QS selftestFrederic Weisbecker2-1/+9
Provide a config option that enables the userspace RCU extended quiescent state on every CPUs by default. This is for testing purpose. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26x86: Exit RCU extended QS on notify resumeFrederic Weisbecker2-0/+5
do_notify_resume() may be called on irq or exception exit. But at that time the exception has already called rcu_user_enter() and the irq has already called rcu_irq_exit(). Since it can use RCU read side critical section, we must call rcu_user_exit() before doing anything there. Then we must call back rcu_user_enter() after this function because we know we are going to userspace from there. This complete support for userspace RCU extended quiescent state in x86-64. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26x86: Use the new schedule_user API on userspace preemptionFrederic Weisbecker2-4/+17
This way we can exit the RCU extended quiescent state before we schedule a new task from irq/exception exit. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26rcu: Exit RCU extended QS on user preemptionFrederic Weisbecker1-0/+15
When exceptions or irq are about to resume userspace, if the task needs to be rescheduled, the arch low level code calls schedule() directly. If we call it, it is because we have the TIF_RESCHED flag: - It can be set after random local calls to set_need_resched() (RCU, drm, ...) - A wake up happened and the CPU needs preemption. This can happen in several ways: * Remotely: the remote waking CPU has set TIF_RESCHED and send the wakee an IPI to schedule the new task. * Remotely enqueued: the remote waking CPU sends an IPI to the target and the wake up is made by the target. * Locally: waking CPU == wakee CPU and the wakeup is done locally. set_need_resched() is called without IPI. In the case of local and remotely enqueued wake ups, the tick can be restarted when we enqueue the new task and RCU can exit the extended quiescent state at the same time. Then by the time we reach irq exit path and we call schedule, we are not in RCU user mode. But if we call schedule() only because something called set_need_resched(), RCU may still be in user mode when we reach schedule. Also if a wake up is done remotely, the CPU might see the TIF_RESCHED flag and call schedule while the IPI has not yet happen to restart the tick and exit RCU user mode. We need to manually protect against these corner cases. Create a new API schedule_user() that calls schedule() inside rcu_user_exit()-rcu_user_enter() in order to protect it. Archs will need to rely on it now to implement user preemption safely. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26rcu: Exit RCU extended QS on kernel preemption after irq/exceptionFrederic Weisbecker1-0/+1
When an exception or an irq exits, and we are going to resume into interrupted kernel code, the low level architecture code calls preempt_schedule_irq() if there is a need to reschedule. If the interrupt/exception occured between a call to rcu_user_enter() (from syscall exit, exception exit, do_notify_resume exit, ...) and a real resume to userspace (iret,...), preempt_schedule_irq() can be called whereas RCU thinks we are in userspace. But preempt_schedule_irq() is going to run kernel code and may be some RCU read side critical section. We must exit the userspace extended quiescent state before we call it. To solve this, just call rcu_user_exit() in the beginning of preempt_schedule_irq(). Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26x86: Exception hooks for userspace RCU extended QSFrederic Weisbecker3-28/+86
Add necessary hooks to x86 exception for userspace RCU extended quiescent state support. This includes traps, page fault, debug exceptions, etc... Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]>
2012-09-26x86: Unspaghettize do_general_protection()Frederic Weisbecker1-22/+16
There is some unnatural label based layout in this function. Convert the unnecessary goto to readable conditional blocks. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]>
2012-09-26x86: Syscall hooks for userspace RCU extended QSFrederic Weisbecker2-3/+12
Add syscall slow path hooks to notify syscall entry and exit on CPUs that want to support userspace RCU extended quiescent state. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26rcu: Switch task's syscall hooks on context switchFrederic Weisbecker5-0/+27
Clear the syscalls hook of a task when it's scheduled out so that if the task migrates, it doesn't run the syscall slow path on a CPU that might not need it. Also set the syscalls hook on the next task if needed. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26rcu: Ignore userspace extended quiescent state by defaultFrederic Weisbecker2-1/+5
By default we don't want to enter into RCU extended quiescent state while in userspace because doing this produces some overhead (eg: use of syscall slowpath). Set it off by default and ready to run when some feature like adaptive tickless need it. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26rcu: Allow rcu_user_enter()/exit() to nestFrederic Weisbecker2-8/+36
Allow calls to rcu_user_enter() even if we are already in userspace (as seen by RCU) and allow calls to rcu_user_exit() even if we are already in the kernel. This makes the APIs more flexible to be called from architectures. Exception entries for example won't need to know if they come from userspace before calling rcu_user_exit(). Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Alessio Igor Bogani <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Josh Triplett <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Max Krasnyansky <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Sven-Thorsten Dietrich <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Josh Triplett <[email protected]>
2012-09-26s390: update defconfigHeiko Carstens1-7/+7
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/jump label,nss: let shared kernel support depend on !JUMP_LABELHeiko Carstens1-2/+2
We can have either shared kernel or jump label support, but not both. If a kernel gets IPL'ed from an NSS it's not possible to patch the text segment, since it's read-only. Therefore any static branches cannot be updated. So we need to make sure that shared kernel support is disabled if jump label support is enabled. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/disassembler: fix decoding of risblg instructionHeiko Carstens1-1/+1
Fix typo: risblk -> risblg. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/bpf,jit: add support for BPF_S_ANC_ALU_XOR_X instructionHeiko Carstens1-0/+5
Add support for new BPF_S_ANC_ALU_XOR_X instruction which got added with ffe06c17 "filter: add XOR operation". s390 version of 4bfaddf1 "x86 bpf_jit: support BPF_S_ANC_ALU_XOR_X instruction". Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/traps: move call to print_modules() out of show_regs()Heiko Carstens1-1/+1
Same as 0fa0e2f0 "x86: Move call to print_modules() out of show_regs()". Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/mm: mark free_initrd_mem() as __initHeiko Carstens1-2/+2
Same as 0d26d1d8 "x86/mm: Mark free_initrd_mem() as __init". In addition also add the __init annotation to setup_zero_pages(). Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/dasd: check count address during online settingStefan Haberland1-2/+12
A common way to prepare a z/VM mini disk is to format the real device with a z/VM tool like CPFMTXA and then define a mini disk that excludes the first cylinder, i.e. the cylinder 0 of the virtual disk is located at cylinder 1 of the real device. The DASD device driver will recognize such a mini disk as formatted, as the uniform record layout on the disk matches that of an LDL formatted device. However, the cylinder value in the 'count' field of the ECKD records matches the geometry of the real device, and not that of the mini disk, so I/O requests will fail with 'record not found' errors. To make the mini disk usable, it needs to be formatted with a tool like dasdfmt. To enable tools like distribution installation tools to recognize this situation, the DASD device driver should report such a mini disk as 'not formatted'. To this end we need to extend the device recognition code to check not just for proper record sizes, but also for proper cylinder/head/record values. Signed-off-by: Stefan Haberland <[email protected]> Reviewed-by: Stefan Weinhuber <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26drivers/s390/char/monreader.c: fix error return codePeter Senna Tschudin1-1/+4
Convert a nonnegative error return code to a negative one, as returned elsewhere in the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Peter Senna Tschudin <[email protected]> Signed-off-by: Gerald Schaefer <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/cmpxchg,percpu: implement cmpxchg_double()Heiko Carstens3-1/+83
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/percpu: implement this_cpu_add_return()Heiko Carstens1-2/+8
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/percpu: implement this_cpu_xchg()Heiko Carstens1-0/+18
The generic variant has a local_irq_save/restore pair which is quite expensive. It is sufficient to disable preemption, which is a no-op with !CONFIG_PREEMPT and then use the regular xchg macro. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/kexec: remove CONFIG_KEXECHeiko Carstens2-8/+2
Since "Kconfig: split the s390 base menu" CONFIG_KEXEC gets always selected. Therefore there is no point in keeping CONFIG_KEXEC anywhere. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390/irq: use designated initializers for irq class arrayHeiko Carstens1-29/+29
Use designated initializers for the irq class array in irq.c so it's always guaranteed that the order of elements is equal to their corresponding parts in irq.h. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-09-26s390: add uninitialized_var() to suppress false positive compiler warningsHeiko Carstens3-4/+4
Get rid of these: arch/s390/kernel/smp.c:134:19: warning: ‘status’ may be used uninitialized in this function [-Wuninitialized] arch/s390/mm/pgtable.c:641:10: warning: ‘table’ may be used uninitialized in this function [-Wuninitialized] arch/s390/mm/pgtable.c:644:12: warning: ‘page’ may be used uninitialized in this function [-Wuninitialized] drivers/s390/cio/cio.c:1037:14: warning: ‘schid’ may be used uninitialized in this function [-Wuninitialized] Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>