Commit f91b22c3 authored by Linus Torvalds's avatar Linus Torvalds

Merge branches 'core-ipi-for-linus', 'core-locking-for-linus',...

Merge branches 'core-ipi-for-linus', 'core-locking-for-linus', 'tracing-fixes-for-linus', 'x86-debug-for-linus', 'x86-doc-for-linus', 'x86-gpu-for-linus' and 'x86-rlimit-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'core-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  generic-ipi: Optimize accesses by using DEFINE_PER_CPU_SHARED_ALIGNED for IPI data

* 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  plist: Fix grammar mistake, and c-style mistake

* 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  kprobes: Add mcount to the kprobes blacklist

* 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86_64: Print modules like i386 does

* 'x86-doc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: Put 'nopat' in kernel-parameters

* 'x86-gpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86-64: Allow fbdev primary video code

* 'x86-rlimit-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: Use helpers for rlimits
...@@ -1738,6 +1738,9 @@ and is between 256 and 4096 characters. It is defined in the file ...@@ -1738,6 +1738,9 @@ and is between 256 and 4096 characters. It is defined in the file
nomfgpt [X86-32] Disable Multi-Function General Purpose nomfgpt [X86-32] Disable Multi-Function General Purpose
Timer usage (for AMD Geode machines). Timer usage (for AMD Geode machines).
nopat [X86] Disable PAT (page attribute table extension of
pagetables) support.
norandmaps Don't use address space randomization. Equivalent to norandmaps Don't use address space randomization. Equivalent to
echo 0 > /proc/sys/kernel/randomize_va_space echo 0 > /proc/sys/kernel/randomize_va_space
......
...@@ -135,9 +135,7 @@ drivers-$(CONFIG_OPROFILE) += arch/x86/oprofile/ ...@@ -135,9 +135,7 @@ drivers-$(CONFIG_OPROFILE) += arch/x86/oprofile/
# suspend and hibernation support # suspend and hibernation support
drivers-$(CONFIG_PM) += arch/x86/power/ drivers-$(CONFIG_PM) += arch/x86/power/
ifeq ($(CONFIG_X86_32),y)
drivers-$(CONFIG_FB) += arch/x86/video/ drivers-$(CONFIG_FB) += arch/x86/video/
endif
#### ####
# boot loader support. Several targets are kept for legacy purposes # boot loader support. Several targets are kept for legacy purposes
......
...@@ -297,7 +297,7 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs) ...@@ -297,7 +297,7 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
* size limits imposed on them by creating programs with large * size limits imposed on them by creating programs with large
* arrays in the data or bss. * arrays in the data or bss.
*/ */
rlim = current->signal->rlim[RLIMIT_DATA].rlim_cur; rlim = rlimit(RLIMIT_DATA);
if (rlim >= RLIM_INFINITY) if (rlim >= RLIM_INFINITY)
rlim = ~0; rlim = ~0;
if (ex.a_data + ex.a_bss > rlim) if (ex.a_data + ex.a_bss > rlim)
......
...@@ -12,10 +12,6 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, ...@@ -12,10 +12,6 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
pgprot_val(vma->vm_page_prot) |= _PAGE_PCD; pgprot_val(vma->vm_page_prot) |= _PAGE_PCD;
} }
#ifdef CONFIG_X86_32
extern int fb_is_primary_device(struct fb_info *info); extern int fb_is_primary_device(struct fb_info *info);
#else
static inline int fb_is_primary_device(struct fb_info *info) { return 0; }
#endif
#endif /* _ASM_X86_FB_H */ #endif /* _ASM_X86_FB_H */
...@@ -291,6 +291,7 @@ void show_registers(struct pt_regs *regs) ...@@ -291,6 +291,7 @@ void show_registers(struct pt_regs *regs)
sp = regs->sp; sp = regs->sp;
printk("CPU %d ", cpu); printk("CPU %d ", cpu);
print_modules();
__show_regs(regs, 1); __show_regs(regs, 1);
printk("Process %s (pid: %d, threadinfo %p, task %p)\n", printk("Process %s (pid: %d, threadinfo %p, task %p)\n",
cur->comm, cur->pid, task_thread_info(cur), cur); cur->comm, cur->pid, task_thread_info(cur), cur);
......
...@@ -71,7 +71,7 @@ static int mmap_is_legacy(void) ...@@ -71,7 +71,7 @@ static int mmap_is_legacy(void)
if (current->personality & ADDR_COMPAT_LAYOUT) if (current->personality & ADDR_COMPAT_LAYOUT)
return 1; return 1;
if (current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) if (rlimit(RLIMIT_STACK) == RLIM_INFINITY)
return 1; return 1;
return sysctl_legacy_va_layout; return sysctl_legacy_va_layout;
...@@ -96,7 +96,7 @@ static unsigned long mmap_rnd(void) ...@@ -96,7 +96,7 @@ static unsigned long mmap_rnd(void)
static unsigned long mmap_base(void) static unsigned long mmap_base(void)
{ {
unsigned long gap = current->signal->rlim[RLIMIT_STACK].rlim_cur; unsigned long gap = rlimit(RLIMIT_STACK);
if (gap < MIN_GAP) if (gap < MIN_GAP)
gap = MIN_GAP; gap = MIN_GAP;
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
* the insertion of new nodes. There are no nodes with duplicate * the insertion of new nodes. There are no nodes with duplicate
* priorites on the list. * priorites on the list.
* *
* The nodes on the node_list is ordered by priority and can contain * The nodes on the node_list are ordered by priority and can contain
* entries which have the same priority. Those entries are ordered * entries which have the same priority. Those entries are ordered
* FIFO * FIFO
* *
...@@ -265,7 +265,7 @@ static inline int plist_node_empty(const struct plist_node *node) ...@@ -265,7 +265,7 @@ static inline int plist_node_empty(const struct plist_node *node)
* *
* Assumes the plist is _not_ empty. * Assumes the plist is _not_ empty.
*/ */
static inline struct plist_node* plist_first(const struct plist_head *head) static inline struct plist_node *plist_first(const struct plist_head *head)
{ {
return list_entry(head->node_list.next, return list_entry(head->node_list.next,
struct plist_node, plist.node_list); struct plist_node, plist.node_list);
......
...@@ -93,6 +93,7 @@ static struct kprobe_blackpoint kprobe_blacklist[] = { ...@@ -93,6 +93,7 @@ static struct kprobe_blackpoint kprobe_blacklist[] = {
{"native_get_debugreg",}, {"native_get_debugreg",},
{"irq_entries_start",}, {"irq_entries_start",},
{"common_interrupt",}, {"common_interrupt",},
{"mcount",}, /* mcount can be called from everywhere */
{NULL} /* Terminator */ {NULL} /* Terminator */
}; };
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/cpu.h> #include <linux/cpu.h>
static DEFINE_PER_CPU(struct call_single_queue, call_single_queue);
static struct { static struct {
struct list_head queue; struct list_head queue;
raw_spinlock_t lock; raw_spinlock_t lock;
...@@ -33,12 +31,14 @@ struct call_function_data { ...@@ -33,12 +31,14 @@ struct call_function_data {
cpumask_var_t cpumask; cpumask_var_t cpumask;
}; };
static DEFINE_PER_CPU_SHARED_ALIGNED(struct call_function_data, cfd_data);
struct call_single_queue { struct call_single_queue {
struct list_head list; struct list_head list;
raw_spinlock_t lock; raw_spinlock_t lock;
}; };
static DEFINE_PER_CPU(struct call_function_data, cfd_data); static DEFINE_PER_CPU_SHARED_ALIGNED(struct call_single_queue, call_single_queue);
static int static int
hotplug_cfd(struct notifier_block *nfb, unsigned long action, void *hcpu) hotplug_cfd(struct notifier_block *nfb, unsigned long action, void *hcpu)
...@@ -256,7 +256,7 @@ void generic_smp_call_function_single_interrupt(void) ...@@ -256,7 +256,7 @@ void generic_smp_call_function_single_interrupt(void)
} }
} }
static DEFINE_PER_CPU(struct call_single_data, csd_data); static DEFINE_PER_CPU_SHARED_ALIGNED(struct call_single_data, csd_data);
/* /*
* smp_call_function_single - Run a function on a specific CPU * smp_call_function_single - Run a function on a specific CPU
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment