opensuse:kernel.git
8 years agov2.6.33-rt5
Thomas Gleixner [Fri, 12 Mar 2010 09:38:23 +0000 (10:38 +0100)]
v2.6.33-rt5

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agotracing: Define pid functions for all config combinations
Carsten Emde [Wed, 10 Mar 2010 23:18:18 +0000 (00:18 +0100)]
tracing: Define pid functions for all config combinations

If CONFIG_MISSED_TIMER_OFFSETS_HIST was defined and
CONFIG_WAKEUP_LATENCY_HIST was not, the pid-related
functions remained undefined.

Fix the erroneous #ifdef around the pid-related functions.

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agovga console: Remove the CON_ATOMIC flag
Thomas Gleixner [Wed, 10 Mar 2010 22:45:34 +0000 (23:45 +0100)]
vga console: Remove the CON_ATOMIC flag

vgacon_restore_screen() takes > 3ms in the worst case. !@#$%!

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agox86: Fix 32bit HIGHMEM=n compile
Thomas Gleixner [Wed, 10 Mar 2010 22:07:50 +0000 (23:07 +0100)]
x86: Fix 32bit HIGHMEM=n compile

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agox86: highmem: Remove stale function prototype
Thomas Gleixner [Wed, 10 Mar 2010 17:05:47 +0000 (18:05 +0100)]
x86: highmem: Remove stale function prototype

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agomm: highmem: Fix stale BUG_ON condition
Thomas Gleixner [Wed, 3 Mar 2010 17:06:30 +0000 (18:06 +0100)]
mm: highmem: Fix stale BUG_ON condition

Fixup the leftover of the highmem rewrite.

Reported-by: Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agov2.6.33-rt4
Thomas Gleixner [Sat, 27 Feb 2010 08:09:29 +0000 (09:09 +0100)]
v2.6.33-rt4

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agort: trivial fix to REMINDER block in init/main.c
Clark Williams [Thu, 25 Feb 2010 22:39:23 +0000 (16:39 -0600)]
rt: trivial fix to REMINDER block in init/main.c

I noticed during testing that I was getting an empty REMINDER block in
dmesg. Looks like STACK_TRACER got dropped.

Signed-off-by: Clark Williams <williams@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agotracing: Convert max_trace_lock to be a raw spinlock
Arnaldo Carvalho de Melo [Thu, 25 Feb 2010 14:49:14 +0000 (11:49 -0300)]
tracing: Convert max_trace_lock to be a raw spinlock

Needs to be taken in atomic contexts.

Pointed-out-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agov2.6.33-rt3
Thomas Gleixner [Fri, 26 Feb 2010 19:38:46 +0000 (20:38 +0100)]
v2.6.33-rt3

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge branch 'rt/head' into rt/2.6.33
Thomas Gleixner [Fri, 26 Feb 2010 19:38:31 +0000 (20:38 +0100)]
Merge branch 'rt/head' into rt/2.6.33

Conflicts:
Makefile

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agommc: omap_hsmmc: Fix the locking mess
Thomas Gleixner [Fri, 26 Feb 2010 19:23:26 +0000 (20:23 +0100)]
mmc: omap_hsmmc: Fix the locking mess

Conditional locking on (!in_interrupt()) is broken by design and there
is no reason to keep the host->irq_lock across the call to
mmc_request_done(). Also the host->protect_card magic hack does not
depend on the context

Fix the mess by dropping host->irq_lock before calling
mmc_request_done().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agohighmem, -rt: Implement pfn and prot kmaps
Peter Zijlstra [Thu, 25 Feb 2010 11:43:52 +0000 (12:43 +0100)]
highmem, -rt: Implement pfn and prot kmaps

iomap_32 uses kmap_atomic_prot_pfn() for its maps, but on -rt we have
to use kmap() for such mappings, so teach kmap about pfn and prot
thingies.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agox86: pci: Prevent mmconfig memory corruption
Thomas Gleixner [Thu, 25 Feb 2010 15:42:11 +0000 (16:42 +0100)]
x86: pci: Prevent mmconfig memory corruption

commit ff097ddd4 (x86/PCI: MMCONFIG: manage pci_mmcfg_region as
a list, not a table) introduced a nasty memory corruption when
pci_mmcfg_list is empty.

pci_mmcfg_check_end_bus_number() dereferences
pci_mmcfg_list.prev even when the list is empty. The following
write hits some variable near to pci_mmcfg_list.

Further down a similar problem exists, where cfg->list.next is
dereferenced unconditionally and a comparison with some variable
near to pci_mmcfg_list happens.

Add a check for the last element into the for_each_entry() loop
and remove all the other crappy logic which is just a leftover
of the old array based code which was replaced by the list
conversion.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
LKML-Reference: <alpine.LFD.2.00.1002251638230.4245@localhost.localdomain>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
8 years agoMerge branch 'linus' into rt/head
Thomas Gleixner [Thu, 25 Feb 2010 09:59:56 +0000 (10:59 +0100)]
Merge branch 'linus' into rt/head

Conflicts:
Makefile

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosecurity: fix error return path in ima_inode_alloc
Xiaotian Feng [Wed, 24 Feb 2010 10:39:02 +0000 (18:39 +0800)]
security: fix error return path in ima_inode_alloc

If radix_tree_preload is failed in ima_inode_alloc, we don't need
radix_tree_preload_end because kernel is alread preempt enabled

Signed-off-by: Xiaotian Feng <dfeng@redhat.com>
Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
Signed-off-by: James Morris <jmorris@namei.org>
8 years agoLinux 2.6.33
Linus Torvalds [Wed, 24 Feb 2010 18:52:17 +0000 (10:52 -0800)]
Linux 2.6.33

8 years agoMerge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6
Linus Torvalds [Wed, 24 Feb 2010 18:51:21 +0000 (10:51 -0800)]
Merge branch 'urgent' of git://git./linux/kernel/git/kyle/parisc-2.6

* 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
  parisc: Set PCI CLS early in boot.

8 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Wed, 24 Feb 2010 18:51:04 +0000 (10:51 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Fix broken sn2 build

8 years agoparisc: Set PCI CLS early in boot.
Carlos O'Donell [Mon, 22 Feb 2010 23:25:59 +0000 (23:25 +0000)]
parisc: Set PCI CLS early in boot.

Set the PCI CLS early in the boot process to prevent
device failures. In pcibios_set_master use the new
pci_cache_line_size instead of a hard-coded value.

Signed-off-by: Carlos O'Donell <carlos@codesourcery.com>
Reviewed-by: Grant Grundler <grundler@google.com>
Signed-off-by: Kyle McMartin <kyle@redhat.com>
8 years agov2.6.33-rc8-rt2
Thomas Gleixner [Wed, 24 Feb 2010 16:45:03 +0000 (17:45 +0100)]
v2.6.33-rc8-rt2

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge branch 'rt/head' into rt/2.6.33
Thomas Gleixner [Wed, 24 Feb 2010 16:44:48 +0000 (17:44 +0100)]
Merge branch 'rt/head' into rt/2.6.33

Conflicts:
Makefile

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agokvm: make_all_cpus_request() needs preempt_disable() on RT
Thomas Gleixner [Wed, 24 Feb 2010 16:28:10 +0000 (17:28 +0100)]
kvm: make_all_cpus_request() needs preempt_disable() on RT

smp_call_function_many() needs to be called with preemption disabled,
but on RT spin_lock(&kvm->requests_lock) is not doing that.

Explicitely disable preemption on RT for the smp_call_function_many()
call.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoperf: Use raw_smp_processor_id() in perf_clock()
Thomas Gleixner [Wed, 24 Feb 2010 16:33:53 +0000 (17:33 +0100)]
perf: Use raw_smp_processor_id() in perf_clock()

perf_lock() can be called from preemptible contexts.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoperf_events: defer poll() wakeups to softirq
Peter Zijlstra [Wed, 24 Feb 2010 16:35:13 +0000 (17:35 +0100)]
perf_events: defer poll() wakeups to softirq

Use timer softirq for wakeups on preempt_rt

Normally pending work is work that cannot be done from NMI context, such
as wakeups and disabling the counter. The pending work is a single
linked list using atomic ops so that it functions from NMI context.

Normally this is called from IRQ context through use of an self-IPI
(x86) or upon enabling hard interrupts (powerpc). Architectures that do
not implement perf_event_set_pending() nor call
perf_event_do_pending() upon leaving NMI context will get a polling
fallback from the timer softirq.

However, in -rt we cannot do the wakeup from IRQ context because its a
wait_queue wakup, which can be O(n), so defer all wakeups to the softirq
fallback by creating a second pending list that's only processed from
there.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoKVM: x86: Kick VCPU outside PIC lock again
Jan Kiszka [Wed, 24 Feb 2010 09:41:58 +0000 (10:41 +0100)]
KVM: x86: Kick VCPU outside PIC lock again

This restores the deferred VCPU kicking before 956f97cf. We need this
over -rt as wake_up* requires non-atomic context in this configuration.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Gleb Natapov <gleb@redhat.com>
LKML-Reference: <4B84F466.2080009@siemens.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze
Linus Torvalds [Wed, 24 Feb 2010 15:43:02 +0000 (07:43 -0800)]
Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze

* 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: Fix out_le32() macro
  microblaze: Fix cache loop function for cache range

8 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Wed, 24 Feb 2010 15:42:42 +0000 (07:42 -0800)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  Revert "block: improve queue_should_plug() by looking at IO depths"

8 years agomicroblaze: Fix out_le32() macro
Steven J. Magnani [Mon, 22 Feb 2010 15:25:42 +0000 (09:25 -0600)]
microblaze: Fix out_le32() macro

Trailing semicolon causes compilation involving out_le32() to fail.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
8 years agomicroblaze: Fix cache loop function for cache range
Michal Simek [Mon, 15 Feb 2010 09:50:42 +0000 (10:50 +0100)]
microblaze: Fix cache loop function for cache range

I create wrong asm code but none test shows that this part of code is wrong.
I am not convinces that were good idea to create asm optimized macros
for caches. The reason is that there is not optimization with previous code
that's why make sense to add old code and do some benchmarking which
functions are faster.

Signed-off-by: Michal Simek <monstr@monstr.eu>
8 years agosched: Fix taskstates in sched_switch and proc
Carsten Emde [Wed, 24 Feb 2010 08:51:14 +0000 (09:51 +0100)]
sched: Fix taskstates in sched_switch and proc

The sched_switch trace event displays erroneous character codes of task
states, after a new task state was added in the scheduler code but
omitted to add in the trace event code.

Define character codes of task states individually. In addition, define
task state descriptions needed in /proc at the same place. This will
help to keep the task state bits, characters and descriptions in sync
should they ever need to be changed again.

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agotracing: histogram: Remove large array from stack frame
Carsten Emde [Wed, 24 Feb 2010 06:49:33 +0000 (07:49 +0100)]
tracing: histogram: Remove large array from stack frame

Remove stack allocation of buffer space, use dyn memory instead.
Use a better assumption to estimate the required buffer space.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agotracing: Plug memory leak in histogram_show
Carsten Emde [Wed, 24 Feb 2010 06:49:32 +0000 (07:49 +0100)]
tracing: Plug memory leak in histogram_show

Do not allocate memory for index pointer, if index out of range.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agotracing: Fix the merge fallout from 31-rt to 33
Carsten Emde [Wed, 24 Feb 2010 06:49:31 +0000 (07:49 +0100)]
tracing: Fix the merge fallout from 31-rt to 33

Apply upgrade changes from 2.6.31 to the histograms.

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agorwsem: Make inner lock raw
Thomas Gleixner [Wed, 24 Feb 2010 08:54:54 +0000 (09:54 +0100)]
rwsem: Make inner lock raw

There is no reason to convert the lock protecting rwsems (the
ownerless variant) to a sleeping spinlock on -rt. Convert it to raw.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosemaphore: Make inner lock raw
Thomas Gleixner [Wed, 24 Feb 2010 08:50:22 +0000 (09:50 +0100)]
semaphore: Make inner lock raw

There is no reason to have the spin_lock protecting the semaphore
being converted to a sleeping spinlock in -rt. Convert it to a
raw_spinlock. That also solves lockdep complaining about the
rt_mutex.wait_lock being not initialized.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge branch 'linus' into rt/head
Thomas Gleixner [Wed, 24 Feb 2010 10:55:16 +0000 (11:55 +0100)]
Merge branch 'linus' into rt/head

8 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 24 Feb 2010 03:44:07 +0000 (19:44 -0800)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  net: bug fix for vlan + gro issue
  tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON
  cdc_ether: new PID for Ericsson C3607w to the whitelist (resubmit)
  IPv6: better document max_addresses parameter
  MAINTAINERS: update mv643xx_eth maintenance status
  e1000: Fix DMA mapping error handling on RX
  iwlwifi: sanity check before counting number of tfds can be free
  iwlwifi: error checking for number of tfds in queue
  iwlwifi: set HT flags after channel in rxon

8 years agonet: bug fix for vlan + gro issue
Ajit Khaparde [Tue, 16 Feb 2010 20:25:43 +0000 (20:25 +0000)]
net: bug fix for vlan + gro issue

Traffic (tcp) doesnot start on a vlan interface when gro is enabled.
Even the tcp handshake was not taking place.
This is because, the eth_type_trans call before the netif_receive_skb
in napi_gro_finish() resets the skb->dev to napi->dev from the previously
set vlan netdev interface. This causes the ip_route_input to drop the
incoming packet considering it as a packet coming from a martian source.

I could repro this on 2.6.32.7 (stable) and 2.6.33-rc7.
With this fix, the traffic starts and the test runs fine on both vlan
and non-vlan interfaces.

CC: Herbert Xu <herbert@gondor.apana.org.au>
CC: Patrick McHardy <kaber@trash.net>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Wed, 24 Feb 2010 02:15:05 +0000 (18:15 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  ACPI: Be in TS_POLLING state during mwait based C-state entry
  ACPI: Fix regression where _PPC is not read at boot even when ignore_ppc=0
  acer-wmi: Respect current backlight level when loading

8 years agoMerge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Wed, 24 Feb 2010 02:13:34 +0000 (18:13 -0800)]
Merge branch 'drm-linus' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm/vmwgfx: Fix queries if no dma buffer thrashing is occuring.
  drm/nv50: fix vram ptes on IGPs to point at stolen system memory
  drm/nv50: fix instmem binding on IGPs to point at stolen system memory
  drm/nv50: improve vram page table construction
  drm/nv50: more efficient clearing of gpu page table entries
  drm/nv50: make nv50_mem_vm_{bind,unbind} operate only on vram
  drm/nouveau: Fix up pre-nv17 analog load detection.

8 years ago[IA64] Fix broken sn2 build
Hedi Berriche [Tue, 23 Feb 2010 23:58:49 +0000 (23:58 +0000)]
[IA64] Fix broken sn2 build

Revert the change made to arch/ia64/sn/kernel/setup.c by commit
204fba4aa303ea4a7bb726a539bf4a5b9e3203d0 as it breaks the build.

Fixing the build the b94b08081fcecf83fa690d6c5664f6316fe72208 way
breaks xpc because genksyms then fails to generate an CRC for
per_cpu____sn_cnodeid_to_nasid because of limitations in the
generic genksyms code.

Signed-off-by: Hedi Berriche <hedi@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
8 years agosched: Fix in_softirq() changes fallout
Thomas Gleixner [Tue, 23 Feb 2010 17:52:51 +0000 (18:52 +0100)]
sched: Fix in_softirq() changes fallout

WARNING: at kernel/sched.c:7158 cond_resched_softirq_context+0x37/0x86()
triggers now. Shut it up.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoxfs: Add missing rw_semaphore annotation in ASSERT
Alessio Igor Bogani [Mon, 22 Feb 2010 21:33:42 +0000 (22:33 +0100)]
xfs: Add missing rw_semaphore annotation in ASSERT

fs/xfs/linux-2.6/xfs_super.c: In function ‘xfs_fs_clear_inode’:
fs/xfs/linux-2.6/xfs_super.c:1113: error: ‘struct rw_anon_semaphore’ has no member named ‘lock’
make[2]: *** [fs/xfs/linux-2.6/xfs_super.o] Error 1

Signed-off-by: Alessio Igor Bogani <abogani@texware.it>
LKML-Reference: <1266874422-3200-1-git-send-email-abogani@texware.it>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/torvalds...
Thomas Gleixner [Tue, 23 Feb 2010 16:17:43 +0000 (17:17 +0100)]
Merge branch 'master' of ssh:///linux/kernel/git/torvalds/linux-2.6 into rt/head

8 years agocore: Revert the in_irq() in_softirq() modifications
Thomas Gleixner [Tue, 23 Feb 2010 14:03:02 +0000 (15:03 +0100)]
core: Revert the in_irq() in_softirq() modifications

RT added a check check for running in an interrupt handler thread or a
softirq thread to in_irq() and in_softirq().

Most of the users of these checks do not care, but RCU and perf_events
end up making wrong decisions. Especially the check in
rcu_read_unlock_special()

        /* Hardware IRQ handlers cannot block. */
        if (in_irq()) {
                local_irq_restore(flags);
                return;
        }

falls flat on his nose on -RT due to this.

Revert the changes and simply check for hardirq_count()
resp. softirq_count() as mainline does.

I checked all the users and the only dubious one is
dev_kfree_skb_any() but some hysteric research and talking to acme
makes me sure that it has no weird side effects.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agorcu: fix deadlock in TREE_PREEMPT_RCU CPU stall detection
Paul E. McKenney [Tue, 23 Feb 2010 01:47:45 +0000 (17:47 -0800)]
rcu: fix deadlock in TREE_PREEMPT_RCU CPU stall detection

Under TREE_PREEMPT_RCU, print_other_cpu_stall() invokes
rcu_print_task_stall() with the root rcu_node structure's ->lock held,
and rcu_print_task_stall() acquires that same lock for self-deadlock.
Fix this by removing the lock acquisition from rcu_print_task_stall(),
and making all callers acquire the lock instead.

Tested-by: John Kacur <jkacur@redhat.com>
Tested-by: Thomas Gleixner <tglx@linutronix.de>
Located-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
LKML-Reference: <1266889666-3471-1-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Tue, 23 Feb 2010 09:27:05 +0000 (01:27 -0800)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6

8 years agotc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON
Atsushi Nemoto [Fri, 19 Feb 2010 05:13:58 +0000 (05:13 +0000)]
tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON

The netif_wake_queue() is called correctly (i.e. only on !txfull
condition) from txdone routine.  So Unconditional call to the
netif_wake_queue() here is wrong.  This might cause calling of
start_xmit routine on txfull state and trigger BUG_ON.

This bug does not happen when NAPI disabled.  After txdone there
must be at least one free tx slot.  But with NAPI, this is not
true anymore and the BUG_ON can hits on heavy load.

In this driver NAPI was enabled on 2.6.33-rc1 so this is
regression from 2.6.32 kernel.

Reported-by: Ralf Roesch <ralf.roesch@rw-gmbh.de>
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agocdc_ether: new PID for Ericsson C3607w to the whitelist (resubmit)
Torgny Johansson [Fri, 19 Feb 2010 01:59:15 +0000 (01:59 +0000)]
cdc_ether: new PID for Ericsson C3607w to the whitelist (resubmit)

This patch adds a new vid/pid to the cdc_ether whitelist.

Device added:
- Ericsson Mobile Broadband variant C3607w

Signed-off-by: Torgny Johansson <torgny.johansson@gmail.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoIPv6: better document max_addresses parameter
Brian Haley [Mon, 22 Feb 2010 12:27:21 +0000 (12:27 +0000)]
IPv6: better document max_addresses parameter

Andrew Morton wrote:
>> >From ip-sysctl.txt file in kernel documentation I can see following description
>> for max_addresses:
>> max_addresses - INTEGER
>>         Number of maximum addresses per interface.  0 disables limitation.
>>         It is recommended not set too large value (or 0) because it would
>>         be too easy way to crash kernel to allow to create too much of
>>         autoconfigured addresses.
           ^^^^^^^^^^^^^^

>> If this parameter applies only for auto-configured IP addressed, please state
>> it more clearly in docs or rename the parameter to show that it refers to
>> auto-configuration.

It did mention autoconfigured in the text, but the below makes it more obvious.

More clearly document IPv6 max_addresses parameter.

Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoMAINTAINERS: update mv643xx_eth maintenance status
Lennert Buytenhek [Mon, 22 Feb 2010 22:34:54 +0000 (22:34 +0000)]
MAINTAINERS: update mv643xx_eth maintenance status

I am no longer with Marvell.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoe1000: Fix DMA mapping error handling on RX
Anton Blanchard [Fri, 19 Feb 2010 17:54:53 +0000 (17:54 +0000)]
e1000: Fix DMA mapping error handling on RX

Check for error return from pci_map_single/pci_map_page and clean up.

With this and the previous patch the driver was able to handle a significant
percentage of errors (I set the fault injection rate to 10% and could still
download large files at a reasonable speed).

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoRevert "block: improve queue_should_plug() by looking at IO depths"
Jens Axboe [Tue, 23 Feb 2010 07:40:43 +0000 (08:40 +0100)]
Revert "block: improve queue_should_plug() by looking at IO depths"

This reverts commit fb1e75389bd06fd5987e9cda1b4e0305c782f854.

"Benjamin S." <sbenni@gmx.de> reports that the patch in question
causes a big drop in sequential throughput for him, dropping from
200MB/sec down to only 70MB/sec.

Needs to be investigated more fully, for now lets just revert the
offending commit.

Conflicts:

include/linux/blkdev.h

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
8 years agodrm/vmwgfx: Fix queries if no dma buffer thrashing is occuring.
Thomas Hellstrom [Sun, 21 Feb 2010 14:54:55 +0000 (14:54 +0000)]
drm/vmwgfx: Fix queries if no dma buffer thrashing is occuring.

Intercept query commands and apply relocations to their guest pointers.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
8 years agoMerge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linus
Dave Airlie [Tue, 23 Feb 2010 05:42:18 +0000 (15:42 +1000)]
Merge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linus

* 'nouveau/for-airlied' of ../drm-nouveau-next:
  drm/nv50: fix vram ptes on IGPs to point at stolen system memory
  drm/nv50: fix instmem binding on IGPs to point at stolen system memory
  drm/nv50: improve vram page table construction
  drm/nv50: more efficient clearing of gpu page table entries
  drm/nv50: make nv50_mem_vm_{bind,unbind} operate only on vram
  drm/nouveau: Fix up pre-nv17 analog load detection.

8 years agoMerge branch 'pcc' into release
Len Brown [Tue, 23 Feb 2010 05:39:00 +0000 (00:39 -0500)]
Merge branch 'pcc' into release

8 years agoMerge branches 'bugzilla-14207' and 'idle' into release
Len Brown [Tue, 23 Feb 2010 05:19:48 +0000 (00:19 -0500)]
Merge branches 'bugzilla-14207' and 'idle' into release

8 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Tue, 23 Feb 2010 03:51:39 +0000 (19:51 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  MIPS: BCM47xx: Fix 128MB RAM support
  MIPS: Highmem: Fix build error

8 years agoMerge branch 'parisc/tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Tue, 23 Feb 2010 03:51:13 +0000 (19:51 -0800)]
Merge branch 'parisc/tracehook' of git://git./linux/kernel/git/frob/linux-2.6-roland

* 'parisc/tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
  Revert "parisc: HAVE_ARCH_TRACEHOOK"

8 years agofs/exec.c: fix initial stack reservation
Michael Neuling [Mon, 22 Feb 2010 20:44:24 +0000 (12:44 -0800)]
fs/exec.c: fix initial stack reservation

803bf5ec259941936262d10ecc84511b76a20921 ("fs/exec.c: restrict initial
stack space expansion to rlimit") attempts to limit the initial stack to
20*PAGE_SIZE.  Unfortunately, in attempting ensure the stack is not
reduced in size, we ended up not changing the stack at all.

This size reduction check is not necessary as the expand_stack call does
this already.

This caused a regression in UML resulting in most guest processes being
killed.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: Serge Hallyn <serue@us.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jouni Malinen <j@w1.fi>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 years agoefifb: fix framebuffer handoff
Marcin Slusarz [Mon, 22 Feb 2010 20:44:22 +0000 (12:44 -0800)]
efifb: fix framebuffer handoff

Commit 4410f3910947dcea8672280b3adecd53cec4e85e ("fbdev: add support for
handoff from firmware to hw framebuffers") didn't add fb_destroy
operation to efifb.  Fix it and change aperture_size to match size
passed to request_mem_region.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=15151

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Reported-by: Alex Zhavnerchik <alex.vizor@gmail.com>
Tested-by: Alex Zhavnerchik <alex.vizor@gmail.com>
Acked-by: Peter Jones <pjones@redhat.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 years agogeode-mfgpt: restore previous behavior for selecting IRQ
Jens Rottmann [Mon, 22 Feb 2010 20:44:20 +0000 (12:44 -0800)]
geode-mfgpt: restore previous behavior for selecting IRQ

geode-mfgpt: restore previous behavior for selecting IRQ

The MFGPT IRQ used to be, in order of decreasing priority,
 * IRQ supplied by the user as a boot-time parameter,
 * IRQ previously set by the BIOS or another driver,
 * default IRQ given at compile time.

Return to this behavior, which got broken when splitting the
MFGPT/clocksource driver for 2.6.33-rc1.

Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
Acked-by: Andres Salomon <dilinger@collabora.co.uk>
Cc: Jordan Crouse <jordan.crouse@amd.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: john stultz <johnstul@us.ibm.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 years agoidr: fix a critical misallocation bug, take#2
Tejun Heo [Mon, 22 Feb 2010 20:44:19 +0000 (12:44 -0800)]
idr: fix a critical misallocation bug, take#2

This is retry of reverted 859ddf09743a8cc680af33f7259ccd0fd36bfe9d
("idr: fix a critical misallocation bug") which contained two bugs.

* pa[idp->layers] should be cleared even if it's not used by
  sub_alloc() because it's used by mark idr_mark_full().

* The original condition check also assigned pa[l] to p which the new
  code didn't do thus leaving p pointing at the wrong layer.

Both problems have been fixed and the idr code has received good amount
testing using userland testing setup where simple bitmap allocator is
run parallel to verify the result of idr allocation.

The bug this patch fixes is caused by sub_alloc() optimization path
bypassing out-of-room condition check and restarting allocation loop
with starting value higher than maximum allowed value.  For detailed
description, please read commit message of 859ddf09.

Signed-off-by: Tejun Heo <tj@kernel.org>
Based-on-patch-from: Eric Paris <eparis@redhat.com>
Reported-by: Eric Paris <eparis@redhat.com>
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Tested-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 years agokernel/sys.c: fix missing rcu protection for sys_getpriority()
Tetsuo Handa [Mon, 22 Feb 2010 20:44:16 +0000 (12:44 -0800)]
kernel/sys.c: fix missing rcu protection for sys_getpriority()

find_task_by_vpid() is not safe without rcu_read_lock().  2.6.33-rc7 got
RCU protection for sys_setpriority() but missed it for sys_getpriority().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 years agomemcg: fix oom killing a child process in an other cgroup
KAMEZAWA Hiroyuki [Mon, 22 Feb 2010 20:44:14 +0000 (12:44 -0800)]
memcg: fix oom killing a child process in an other cgroup

Presently the oom-killer is memcg aware and it finds the worst process
from processes under memcg(s) in oom.  Then, it kills victim's child
first.

It may kill a child in another cgroup and may not be any help for
recovery.  And it will break the assumption users have.

This patch fixes it.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Reviewed-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Acked-by: David Rientjes <rientjes@google.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 years agodrm/nv50: fix vram ptes on IGPs to point at stolen system memory
Ben Skeggs [Fri, 19 Feb 2010 22:10:11 +0000 (08:10 +1000)]
drm/nv50: fix vram ptes on IGPs to point at stolen system memory

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nv50: fix instmem binding on IGPs to point at stolen system memory
Ben Skeggs [Fri, 19 Feb 2010 22:06:36 +0000 (08:06 +1000)]
drm/nv50: fix instmem binding on IGPs to point at stolen system memory

This also modifies the unused PRAMIN PT entries to be all zeroes, can't
really recall why I used 9/0 initially, just that it didn't work for
some reason.  It was likely masking a bug elsewhere that's since been
fixed.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nv50: improve vram page table construction
Ben Skeggs [Thu, 11 Feb 2010 01:31:44 +0000 (11:31 +1000)]
drm/nv50: improve vram page table construction

This commit changes nouveau to construct PTEs which look very much like
the ones the binary driver creates.

I presume that filling multiple PTEs identically with length flags and
the physical address of the start of a block of VRAM is a hint to the
memory controller that it need not perform additional page table lookups
for that range of addresses.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nv50: more efficient clearing of gpu page table entries
Ben Skeggs [Thu, 11 Feb 2010 00:25:53 +0000 (10:25 +1000)]
drm/nv50: more efficient clearing of gpu page table entries

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nv50: make nv50_mem_vm_{bind,unbind} operate only on vram
Ben Skeggs [Thu, 11 Feb 2010 00:23:30 +0000 (10:23 +1000)]
drm/nv50: make nv50_mem_vm_{bind,unbind} operate only on vram

GART is handled elsewhere, no reason to have the code for it here too.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau: Fix up pre-nv17 analog load detection.
Francisco Jerez [Wed, 10 Feb 2010 18:25:58 +0000 (19:25 +0100)]
drm/nouveau: Fix up pre-nv17 analog load detection.

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agoMIPS: BCM47xx: Fix 128MB RAM support
Hauke Mehrtens [Sat, 20 Feb 2010 18:51:20 +0000 (19:51 +0100)]
MIPS: BCM47xx: Fix 128MB RAM support

Ignoring the last page when ddr size is 128M. Cached accesses to last page
is causing the processor to prefetch using address above 128M stepping out
of the DDR address space.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/981/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
8 years agoMIPS: Highmem: Fix build error
Yoichi Yuasa [Sat, 20 Feb 2010 12:23:22 +0000 (21:23 +0900)]
MIPS: Highmem: Fix build error

arch/mips/mm/highmem.c: In function 'kmap_init':
arch/mips/mm/highmem.c:130: error: 'init_mm' undeclared (first use in this function)
arch/mips/mm/highmem.c:130: error: (Each undeclared identifier is reported only once
arch/mips/mm/highmem.c:130: error: for each function it appears in.)

Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>
Cc: linux-mips <linux-mips@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/980/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
8 years agopowerpc: rtasd: do not check for irq_disabled on RT
Thomas Gleixner [Mon, 22 Feb 2010 20:31:42 +0000 (21:31 +0100)]
powerpc: rtasd: do not check for irq_disabled on RT

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoRevert "parisc: HAVE_ARCH_TRACEHOOK"
Roland McGrath [Mon, 22 Feb 2010 18:43:43 +0000 (10:43 -0800)]
Revert "parisc: HAVE_ARCH_TRACEHOOK"

This reverts commit 81bf550d9cdfe0325eb1504b06c9f6511b442c1a.

HAVE_ARCH_TRACEHOOK requires defining the user_regset interfaces,
including task_user_regset_view().  parisc doesn't do that yet,
so don't lie about it.

Signed-off-by: Roland McGrath <roland@redhat.com>
8 years agoACPI: Be in TS_POLLING state during mwait based C-state entry
Pallipadi, Venkatesh [Wed, 10 Feb 2010 18:35:31 +0000 (10:35 -0800)]
ACPI: Be in TS_POLLING state during mwait based C-state entry

ACPI deep C-state entry had a long standing bug/missing feature, wherein we were sending
resched IPIs when an idle CPU is in mwait based deep C-state. Only mwait based C1 was using
the write to the monitored address to wake up mwait'ing CPU.

This patch changes the code to retain TS_POLLING bit if we are entering an mwait based
deep C-state.

The patch has been verified to reduce the number of resched IPIs in general and also
improves the performance/power on workloads with low system utilization (i.e., when mwait based
deep C-states are being used).

Fixes "netperf ~50% regression with 2.6.33-rc1, bisect to 1b9508f"
http://marc.info/?l=linux-kernel&m=126441481427331&w=4

Reported-by: Lin Ming <ming.m.lin@intel.com>
Tested-by: Alex Shi <alex.shi@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
8 years agogenirq: Fix stale oneshot flag.
Thomas Gleixner [Mon, 22 Feb 2010 17:12:30 +0000 (18:12 +0100)]
genirq: Fix stale oneshot flag.

The oneshot flag might be set when the thread starts and cleared later
in handle_edge_irq() - I know it's a hack :)

Check the flags in the irq thread code instead of using a possibly
stale value.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 22 Feb 2010 16:55:32 +0000 (08:55 -0800)]
Merge branch 'perf-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  perf probe: Init struct probe_point and set counter correctly
  hw-breakpoint: Keep track of dr7 local enable bits
  hw-breakpoints: Accept breakpoints on NULL address
  perf_events: Fix FORK events

8 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Linus Torvalds [Mon, 22 Feb 2010 16:48:06 +0000 (08:48 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: usbtouchscreen - extend coordinate range for Generaltouch devices
  Input: polldev can cause crash in case when polling disabled

8 years agoi915 / PM: Fix hibernate regression caused by suspend/resume splitting
Rafael J. Wysocki [Thu, 18 Feb 2010 22:06:27 +0000 (23:06 +0100)]
i915 / PM: Fix hibernate regression caused by suspend/resume splitting

Commit 84b79f8d2882b0a84330c04839ed4d3cefd2ff77 (drm/i915: Fix crash
while aborting hibernation) attempted to fix a regression introduced
by commit cbda12d77ea590082edb6d30bd342a67ebc459e0 (drm/i915:
implement new pm ops for i915), but it went too far trying to split
the freeze/suspend and resume/thaw parts of the code.  As a result,
it introduced another regression, which only is visible on some systems.

Fix the problem by merging i915_drm_suspend() with
i915_drm_freeze() and moving some code from i915_resume()
into i915_drm_thaw(), so that intel_opregion_free() and
intel_opregion_init() are also executed in the freeze and thaw code
paths, respectively.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-and-tested-by: Pedro Ribeiro <pedrib@gmail.com>
Tested-by: Tino Keitel <tino.keitel@tikei.de>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 years agoiwlwifi: sanity check before counting number of tfds can be free
Stanislaw Gruszka [Fri, 19 Feb 2010 23:47:33 +0000 (15:47 -0800)]
iwlwifi: sanity check before counting number of tfds can be free

Check the frame control for ieee80211_is_data_qos() is true before
counting the number of tfds can be free, the tfds_in_queue only
increment when ieee80211_is_data_qos() is true before transmit; so it
should only decrement if the type match.

Remove ieee80211_is_data_qos check for frame_ctrl in tx_resp to avoid
invalid information pass from uCode.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8 years agoiwlwifi: error checking for number of tfds in queue
Wey-Yi Guy [Fri, 19 Feb 2010 23:47:32 +0000 (15:47 -0800)]
iwlwifi: error checking for number of tfds in queue

When receive reply_tx and ready to decrement the count for number of
tfds in queue, do error checking to prevent error condition and
tfds_in_queue become negative number.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8 years agogenirq: Fix forced threading merge fallout
Thomas Gleixner [Mon, 22 Feb 2010 15:55:03 +0000 (16:55 +0100)]
genirq: Fix forced threading merge fallout

The mainline changes for oneshot interrupts conflicted with the forced
threaded interrupts on RT, which reuse the IRQF_ONESHOT
mechanism. Shared interrupt need to keep the interrupt line disabled
until all handler threads finished.

Make finalize_oneshot_irq() aware of that.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agonet: mac80211: Make the softirq_count warning nonrt
Thomas Gleixner [Mon, 22 Feb 2010 15:53:27 +0000 (16:53 +0100)]
net: mac80211: Make the softirq_count warning nonrt

ieee80211_rx() warns about softirq_count() == 0, which is always the
case on RT enabled kernels. Make the warning nonrt only.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoversion: Remove the -pre0 add on.
Thomas Gleixner [Mon, 22 Feb 2010 15:52:18 +0000 (16:52 +0100)]
version: Remove the -pre0 add on.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoperf probe: Init struct probe_point and set counter correctly
Masami Hiramatsu [Thu, 18 Feb 2010 18:16:52 +0000 (13:16 -0500)]
perf probe: Init struct probe_point and set counter correctly

Clear struct probe_point before using it in
show_perf_probe_events(), and set pp->found counter correctly in
synthesize_perf_probe_point(). Without this initialization,
clear_probe_point() will free random addresses.

Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: systemtap <systemtap@sources.redhat.com>
Cc: DLE <dle-develop@lists.sourceforge.net>
LKML-Reference: <20100218181652.26547.57790.stgit@dhcp-100-2-132.bos.redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
8 years agoInput: usbtouchscreen - extend coordinate range for Generaltouch devices
Roy Yin [Mon, 22 Feb 2010 06:52:49 +0000 (22:52 -0800)]
Input: usbtouchscreen - extend coordinate range for Generaltouch devices

Generaltouch protocol allows for coordinates in [0, 0xffff] range and
there are devices reporting coordinates as high as 0x7fff so let's update
the driver to reflect that.

Signed-off-by: Roy Yin <yhch@generaltouch.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
8 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 22 Feb 2010 03:45:24 +0000 (19:45 -0800)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc32: Fix struct stat uid/gid types.

8 years agosparc32: Fix struct stat uid/gid types.
David S. Miller [Mon, 22 Feb 2010 02:03:16 +0000 (18:03 -0800)]
sparc32: Fix struct stat uid/gid types.

Commit 085219f79cad89291699bd2bfb21c9fdabafe65f
("sparc32: use proper types in struct stat")

Accidently changed the struct stat uid/gid members
to uid_t and gid_t, but those get set to
__kernel_uid32_t and __kernel_gid32_t respectively.
Those are of type 'int' but the structure is meant
to have 'short'.  So use uid16_t and gid16_t to
correct this.

Reported-by: Rob Landley <rob@landley.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agov2.6.33-rt1
Thomas Gleixner [Sun, 21 Feb 2010 22:14:28 +0000 (23:14 +0100)]
v2.6.33-rt1

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Sun, 21 Feb 2010 19:25:47 +0000 (11:25 -0800)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] bfin: fix max timeout calculation

8 years agohwlat_detector-avoid-smp_processor_id.patch
Carsten Emde [Sat, 16 Jan 2010 16:14:04 +0000 (17:14 +0100)]
hwlat_detector-avoid-smp_processor_id.patch

Avoid smp_processor_id() in preemptible code.

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosched: Run task on same cpu if idle and allowed
Carsten Emde [Mon, 15 Feb 2010 21:30:34 +0000 (22:30 +0100)]
sched: Run task on same cpu if idle and allowed

The current RT balancer does not consider CPU topology and may
wakeup a process to run on another CPU although it might run
on the current.

This patch adds a check and runs the new task on the current CPU,
if it
    - is an RT task,
    - is allowed to run on the current CPU, and
    - current is not an RT task,

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosched: Hack to make prio ceiling posix compliant
Thomas Gleixner [Wed, 20 Jan 2010 23:00:32 +0000 (00:00 +0100)]
sched: Hack to make prio ceiling posix compliant

POSIX scheduling semantics for SCHED_FIFO require that a thread whose
priority is changed via pthread_setschedprio() is enqueued to the head
of the new priority list when the thread is running and the new
priority is lower than the old priority. This is required to implement
user space driven priority ceiling.

The sys_sched_setscheduler() and sys_sched_setparam() semantics are
POSIX compliant as they move the thread to the tail of the priority
list.

The lack of the sys_sched_setprio syscall and the resulting usage of
sys_sched_setscheduler() resp. sys_sched_setparam() results in the
following non POSIX compliant scenario:

Task A and B are runnable and in the same priority list X

    task A runs and boosts itself for priority ceiling to prio Y
    task A unboost itself to its original priority X
         -> task A gets dequeued from priority list Y
         -> task A gets enqueued at the tail of priority list X
    task B runs

Work around that to make prio ceiling work as expected:

Queue task to head when task is running and task is lowering its
priority. This works around the non-availability of a sched_setprio
syscall which was tinkered into the posix spec to make prio ceiling
work correctly.

This workaround violates the posix scheduling semantics of tail
queueing in the case that the priority was changed by anything else
than sched_setprio, but there is no other breakage lurking than some
specification fetishists going berserk on me.

Fixing this in mainline needs more thoughts.

Reported-by: Mathias Weber <mathias.weber.mw1@roche.com>
Reported-by: Carsten Emde <cbe@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosched: Extend activate_task to allow queueing to the head of a list
Thomas Gleixner [Sun, 21 Feb 2010 18:23:36 +0000 (19:23 +0100)]
sched: Extend activate_task to allow queueing to the head of a list

The ability of enqueueing a task to the head of a SCHED_FIFO priority
list is required to fix some violations of POSIX scheduling policy.

Extend activate_task with a "head" argument and fix up all callers.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosched: Queue a deboosted task to the head of the RT priority queue
Thomas Gleixner [Tue, 19 Jan 2010 15:53:49 +0000 (16:53 +0100)]
sched: Queue a deboosted task to the head of the RT priority queue

rtmutex_set_prio() is used to implement priority inheritance for
futexes. When a task is deboosted it gets enqueued at the tail of its RT
priority list. This is violating the POSIX scheduling semantics:

rt priority list X contains two runnable tasks A and B

    task A  runs with priority X and holds mutex M
    task C  preempts A and is blocked on mutex M
           -> task A is boosted to priority of task C (Y)
    task A  unlocks the mutex M and deboosts itself
           -> A is dequeued from rt priority list Y
      -> A is enqueued to the tail of rt priority list X
    task C  schedules away
    task B  runs

This is wrong as task A did not schedule away and therefor violates
the POSIX scheduling semantics.

Enqueue the task to the head of the priority list instead.

Reported-by: Mathias Weber <mathias.weber.mw1@roche.com>
Reported-by: Carsten Emde <cbe@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosched: Implement head queueing for sched_rt
Thomas Gleixner [Tue, 19 Jan 2010 16:23:29 +0000 (17:23 +0100)]
sched: Implement head queueing for sched_rt

The ability of enqueueing a task to the head of a SCHED_FIFO priority
list is required to fix some violations of POSIX scheduling policy.

Implement the functionality in sched_rt.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agosched: Extend enqueue_task to allow head queueing
Thomas Gleixner [Tue, 19 Jan 2010 15:09:11 +0000 (16:09 +0100)]
sched: Extend enqueue_task to allow head queueing

The ability of enqueueing a task to the head of a SCHED_FIFO priority
list is required to fix some violations of POSIX scheduling policy.

Extend the related functions with a "head" argument.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
8 years agooom: Add missing rcu protection of __task_cred() in dump_tasks
Thomas Gleixner [Wed, 9 Dec 2009 21:25:28 +0000 (22:25 +0100)]
oom: Add missing rcu protection of __task_cred() in dump_tasks

dump_tasks accesses __task_cred() without being in a RCU read side
critical section. tasklist_lock is not protecting that when
CONFIG_TREE_PREEMPT_RCU=y.

Add a rcu_read_lock/unlock() section around the code which accesses
__task_cred().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mm@kvack.org