- 11 1月, 2011 6 次提交
-
-
由 Rabin Vincent 提交于
Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com>
-
由 Rabin Vincent 提交于
Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> [Modified to hit the right file] Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com>
-
由 Rabin Vincent 提交于
Dynamically detect the DBx500 SOC an revision based on the ASIC ID. Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com>
-
由 Rabin Vincent 提交于
Rename the MOP board Kconfig entries to the same name as the machine type, so that the machine_is_*() macros work correctly. Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> [Updated to match changes in the tree] Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com>
-
由 Rabin Vincent 提交于
To allow the possiblity of building U8500 and U5500 support in the same image. Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> [Rebased to latest changes in Russells tree] Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com>
-
由 Alexey Dobriyan 提交于
Remove kobject.h from files which don't need it, notably, sched.h and fs.h. Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 10 1月, 2011 1 次提交
-
-
由 Ian Campbell 提交于
Xen does not currently expose PV-NUMA information to PV guests. Therefore disable NUMA for the time being to prevent the kernel picking up on an host-level NUMA information which it might come across in the firmware. [ Added comment - Jeremy ] Signed-off-by: NIan Campbell <ian.campbell@citrix.com> Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-
- 08 1月, 2011 6 次提交
-
-
由 Jeff Ohlstein 提交于
Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDavid Brown <davidb@codeaurora.org>
-
由 Jeff Ohlstein 提交于
Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDavid Brown <davidb@codeaurora.org>
-
由 Jeff Ohlstein 提交于
The msm provides timer hardware that is private to each core. Each timer has separate counter and match registers, so we create separate clock_event_devices for each core. For the global clocksource, use cpu 0's counter. Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDavid Brown <davidb@codeaurora.org>
-
由 Stepan Moskovchenko 提交于
Add support for setting the cold boot address of core 1 and the warm boot addresses of cores 0 and 1 using a secure domain call. Signed-off-by: NStepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: NDavid Brown <davidb@codeaurora.org>
-
由 Stephen Boyd 提交于
SCM is the protocol used to communicate between the secure and non-secure code executing on the applications processor. The non-secure side uses a physically contiguous buffer to pass information to the secure side; where the buffer conforms to a format that is agreed upon by both sides. The use of a buffer allows multiple pending requests to be in flight on the secure side. It also benefits use cases where the command or response buffer contains large chunks of data. Reviewed-by: NSaravana Kannan <skannan@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NDavid Brown <davidb@codeaurora.org>
-
由 Tony Luck 提交于
acpi_numa_init() has to parse the whole SRAT table, even if the kernel wants to limit the number of cpus it will use (because the ones it is going to use may be described by entries at the end of the SRAT table). Avoid overflowing the node_cpuid array. Reported-by: NYinghai Lu <yinghai@kernel.org> Signed-off-by: NTony Luck <tony.luck@intel.com>
-
- 07 1月, 2011 27 次提交
-
-
由 Sheng Yang 提交于
This patch is similiar to Gleb Natapov's patch for KVM, which enable the hypervisor to emulate x2apic feature for the guest. By this way, the emulation of lapic would be simpler with x2apic interface(MSR), and faster. [v2: Re-organized 'xen_hvm_need_lapic' per Ian Campbell suggestion] Acked-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: NSheng Yang <sheng@linux.intel.com> Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-
由 Sheng Yang 提交于
Then we can reuse it for Xen later. Acked-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Acked-by: NAvi Kivity <avi@redhat.com> Acked-by: NIngo Molnar <mingo@elte.hu> Signed-off-by: NSheng Yang <sheng@linux.intel.com> Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
... from back in 2004; again, it's ifdefed out by CONFIG_FPU. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
sure, it's effectively ifdefed out, but still... Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
exact parallel to m68k analog Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
we shouldn't bugger off to userland when there still are pending signals; among other things it makes e.g. SIGSEGV triggered by failure to build a sigframe to be delivered _now_ and not when we hit the next syscall or interrupt. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
If we leave sigreturn via ret_from_signal, we end up with syscall trace only on entry, leading to very unhappy strace, among other things. Note that this means different behaviours for signals delivered while we were in pagefault and for ones delivered while we were in interrupt... Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
a) we should hold modifying regs->format until we know we *will* be doing stack expansion; otherwise attacker can modify sigframe to have wrong ->sc_formatvec and install SIGSEGV handler. b) we should *not* mix copying saved extra stuff from userland with expanding the stack; once we'd done that manual memmove, we'd better not return to C, so cleanup is very hard to do. The easiest way is to copy it on stack first, making sure we won't overwrite on stack expansion. Fortunately that's easy to do... Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
Same principle as with the previous patch - do not destroy the state if sigframe setup fails. Incidentally, it's actually _less_ work - we don't need to go through adjust_stack dance on failure if we don't touch regs->stkadj until we know we'd written sigframe out. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
If we'd failed in setup_frame(), we've no place to store the original sigmask. It's not an unrecoverable situation - we raise SIGSEGV, but that SIGSEGV might be successfully handled (e.g. on altstack). In that case we really don't want sa_mask of original signal permanently slapped on the set of blocked signals. Standard solution: have setup_frame()/setup_rt_frame() report failure and don't mess with the signal-related state if that has happened... Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
Instead of checking the return value of do_signal() we can just do the work (raise SIGTRAP and clear SR.T1) directly in handle_signal(), when setting the sigframe up. Simplifies the assembler glue and is closer to the way we do it on other targets. Note that do_delayed_trace does *not* disappear; it's still needed to deal with single-stepping through syscall, since 68040 doesn't raise the trace exception at all if the trap exception is pending. We hit it after returning from sys_...() if TIF_DELAYED_TRACE is set; all that has changed is that we don't reuse it for "single-step into the handler" codepath. As the result, do_signal() doesn't need to return anything anymore. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
and saner do_signal() arguments, while we are at it Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Al Viro 提交于
... and had been such since the introduction of get_signal_to_deliver() Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Nick Piggin 提交于
The problem that this patch aims to fix is vfsmount refcounting scalability. We need to take a reference on the vfsmount for every successful path lookup, which often go to the same mount point. The fundamental difficulty is that a "simple" reference count can never be made scalable, because any time a reference is dropped, we must check whether that was the last reference. To do that requires communication with all other CPUs that may have taken a reference count. We can make refcounts more scalable in a couple of ways, involving keeping distributed counters, and checking for the global-zero condition less frequently. - check the global sum once every interval (this will delay zero detection for some interval, so it's probably a showstopper for vfsmounts). - keep a local count and only taking the global sum when local reaches 0 (this is difficult for vfsmounts, because we can't hold preempt off for the life of a reference, so a counter would need to be per-thread or tied strongly to a particular CPU which requires more locking). - keep a local difference of increments and decrements, which allows us to sum the total difference and hence find the refcount when summing all CPUs. Then, keep a single integer "long" refcount for slow and long lasting references, and only take the global sum of local counters when the long refcount is 0. This last scheme is what I implemented here. Attached mounts and process root and working directory references are "long" references, and everything else is a short reference. This allows scalable vfsmount references during path walking over mounted subtrees and unattached (lazy umounted) mounts with processes still running in them. This results in one fewer atomic op in the fastpath: mntget is now just a per-CPU inc, rather than an atomic inc; and mntput just requires a spinlock and non-atomic decrement in the common case. However code is otherwise bigger and heavier, so single threaded performance is basically a wash. Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Nick Piggin 提交于
Reduce some branches and memory accesses in dcache lookup by adding dentry flags to indicate common d_ops are set, rather than having to check them. This saves a pointer memory access (dentry->d_op) in common path lookup situations, and saves another pointer load and branch in cases where we have d_op but not the particular operation. Patched with: git grep -E '[.>]([[:space:]])*d_op([[:space:]])*=' | xargs sed -e 's/\([^\t ]*\)->d_op = \(.*\);/d_set_d_op(\1, \2);/' -e 's/\([^\t ]*\)\.d_op = \(.*\);/d_set_d_op(\&\1, \2);/' -i Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Nick Piggin 提交于
RCU free the struct inode. This will allow: - Subsequent store-free path walking patch. The inode must be consulted for permissions when walking, so an RCU inode reference is a must. - sb_inode_list_lock to be moved inside i_lock because sb list walkers who want to take i_lock no longer need to take sb_inode_list_lock to walk the list in the first place. This will simplify and optimize locking. - Could remove some nested trylock loops in dcache code - Could potentially simplify things a bit in VM land. Do not need to take the page lock to follow page->mapping. The downsides of this is the performance cost of using RCU. In a simple creat/unlink microbenchmark, performance drops by about 10% due to inability to reuse cache-hot slab objects. As iterations increase and RCU freeing starts kicking over, this increases to about 20%. In cases where inode lifetimes are longer (ie. many inodes may be allocated during the average life span of a single inode), a lot of this cache reuse is not applicable, so the regression caused by this patch is smaller. The cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU, however this adds some complexity to list walking and store-free path walking, so I prefer to implement this at a later date, if it is shown to be a win in real situations. I haven't found a regression in any non-micro benchmark so I doubt it will be a problem. Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Nick Piggin 提交于
dget_locked was a shortcut to avoid the lazy lru manipulation when we already held dcache_lock (lru manipulation was relatively cheap at that point). However, how that the lru lock is an innermost one, we never hold it at any caller, so the lock cost can now be avoided. We already have well working lazy dcache LRU, so it should be fine to defer LRU manipulations to scan time. Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Nick Piggin 提交于
dcache_lock no longer protects anything. remove it. Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Nick Piggin 提交于
Protect d_unhashed(dentry) condition with d_lock. This means keeping DCACHE_UNHASHED bit in synch with hash manipulations. Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Nick Piggin 提交于
Make d_count non-atomic and protect it with d_lock. This allows us to ensure a 0 refcount dentry remains 0 without dcache_lock. It is also fairly natural when we start protecting many other dentry members with d_lock. Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Nick Piggin 提交于
Change d_delete from a dentry deletion notification to a dentry caching advise, more like ->drop_inode. Require it to be constant and idempotent, and not take d_lock. This is how all existing filesystems use the callback anyway. This makes fine grained dentry locking of dput and dentry lru scanning much simpler. Signed-off-by: NNick Piggin <npiggin@kernel.dk>
-
由 Paul Mundt 提交于
There have likewise been some API updates, so we refactor to use the consolidated smp_prepare_cpus(). Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
-