Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (821 commits) x86: make 64bit hpet_set_mapping to use ioremap too, v2 x86: get x86_phys_bits early x86: max_low_pfn_mapped fix #4 x86: change _node_to_cpumask_ptr to return const ptr x86: I/O APIC: remove an IRQ2-mask hack x86: fix numaq_tsc_disable calling x86, e820: remove end_user_pfn x86: max_low_pfn_mapped fix, #3 x86: max_low_pfn_mapped fix, #2 x86: max_low_pfn_mapped fix, #1 x86_64: fix delayed signals x86: remove conflicting nx6325 and nx6125 quirks x86: Recover timer_ack lost in the merge of the NMI watchdog x86: I/O APIC: Never configure IRQ2 x86: L-APIC: Always fully configure IRQ0 x86: L-APIC: Set IRQ0 as edge-triggered x86: merge dwarf2 headers x86: use AS_CFI instead of UNWIND_INFO x86: use ignore macro instead of hash comment x86: use matching CFI_ENDPROC ...
This commit is contained in:
@@ -75,6 +75,8 @@ EXPORT_SYMBOL(oops_in_progress);
|
||||
static DECLARE_MUTEX(console_sem);
|
||||
static DECLARE_MUTEX(secondary_console_sem);
|
||||
struct console *console_drivers;
|
||||
EXPORT_SYMBOL_GPL(console_drivers);
|
||||
|
||||
/*
|
||||
* This is used for debugging the mess that is the VT code by
|
||||
* keeping track if we have the console semaphore held. It's
|
||||
@@ -121,6 +123,8 @@ struct console_cmdline
|
||||
static struct console_cmdline console_cmdline[MAX_CMDLINECONSOLES];
|
||||
static int selected_console = -1;
|
||||
static int preferred_console = -1;
|
||||
int console_set_on_cmdline;
|
||||
EXPORT_SYMBOL(console_set_on_cmdline);
|
||||
|
||||
/* Flag: console code may call schedule() */
|
||||
static int console_may_schedule;
|
||||
@@ -890,6 +894,7 @@ static int __init console_setup(char *str)
|
||||
*s = 0;
|
||||
|
||||
__add_preferred_console(buf, idx, options, brl_options);
|
||||
console_set_on_cmdline = 1;
|
||||
return 1;
|
||||
}
|
||||
__setup("console=", console_setup);
|
||||
|
||||
+9
-9
@@ -6539,9 +6539,9 @@ static int find_next_best_node(int node, nodemask_t *used_nodes)
|
||||
|
||||
min_val = INT_MAX;
|
||||
|
||||
for (i = 0; i < MAX_NUMNODES; i++) {
|
||||
for (i = 0; i < nr_node_ids; i++) {
|
||||
/* Start at @node */
|
||||
n = (node + i) % MAX_NUMNODES;
|
||||
n = (node + i) % nr_node_ids;
|
||||
|
||||
if (!nr_cpus_node(n))
|
||||
continue;
|
||||
@@ -6735,7 +6735,7 @@ static void free_sched_groups(const cpumask_t *cpu_map, cpumask_t *nodemask)
|
||||
if (!sched_group_nodes)
|
||||
continue;
|
||||
|
||||
for (i = 0; i < MAX_NUMNODES; i++) {
|
||||
for (i = 0; i < nr_node_ids; i++) {
|
||||
struct sched_group *oldsg, *sg = sched_group_nodes[i];
|
||||
|
||||
*nodemask = node_to_cpumask(i);
|
||||
@@ -6928,7 +6928,7 @@ static int __build_sched_domains(const cpumask_t *cpu_map,
|
||||
/*
|
||||
* Allocate the per-node list of sched groups
|
||||
*/
|
||||
sched_group_nodes = kcalloc(MAX_NUMNODES, sizeof(struct sched_group *),
|
||||
sched_group_nodes = kcalloc(nr_node_ids, sizeof(struct sched_group *),
|
||||
GFP_KERNEL);
|
||||
if (!sched_group_nodes) {
|
||||
printk(KERN_WARNING "Can not alloc sched group node list\n");
|
||||
@@ -7067,7 +7067,7 @@ static int __build_sched_domains(const cpumask_t *cpu_map,
|
||||
#endif
|
||||
|
||||
/* Set up physical groups */
|
||||
for (i = 0; i < MAX_NUMNODES; i++) {
|
||||
for (i = 0; i < nr_node_ids; i++) {
|
||||
SCHED_CPUMASK_VAR(nodemask, allmasks);
|
||||
SCHED_CPUMASK_VAR(send_covered, allmasks);
|
||||
|
||||
@@ -7091,7 +7091,7 @@ static int __build_sched_domains(const cpumask_t *cpu_map,
|
||||
send_covered, tmpmask);
|
||||
}
|
||||
|
||||
for (i = 0; i < MAX_NUMNODES; i++) {
|
||||
for (i = 0; i < nr_node_ids; i++) {
|
||||
/* Set up node groups */
|
||||
struct sched_group *sg, *prev;
|
||||
SCHED_CPUMASK_VAR(nodemask, allmasks);
|
||||
@@ -7130,9 +7130,9 @@ static int __build_sched_domains(const cpumask_t *cpu_map,
|
||||
cpus_or(*covered, *covered, *nodemask);
|
||||
prev = sg;
|
||||
|
||||
for (j = 0; j < MAX_NUMNODES; j++) {
|
||||
for (j = 0; j < nr_node_ids; j++) {
|
||||
SCHED_CPUMASK_VAR(notcovered, allmasks);
|
||||
int n = (i + j) % MAX_NUMNODES;
|
||||
int n = (i + j) % nr_node_ids;
|
||||
node_to_cpumask_ptr(pnodemask, n);
|
||||
|
||||
cpus_complement(*notcovered, *covered);
|
||||
@@ -7185,7 +7185,7 @@ static int __build_sched_domains(const cpumask_t *cpu_map,
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
for (i = 0; i < MAX_NUMNODES; i++)
|
||||
for (i = 0; i < nr_node_ids; i++)
|
||||
init_numa_sched_groups_power(sched_group_nodes[i]);
|
||||
|
||||
if (sd_allnodes) {
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
struct tick_device tick_broadcast_device;
|
||||
static cpumask_t tick_broadcast_mask;
|
||||
static DEFINE_SPINLOCK(tick_broadcast_lock);
|
||||
static int tick_broadcast_force;
|
||||
|
||||
#ifdef CONFIG_TICK_ONESHOT
|
||||
static void tick_broadcast_clear_oneshot(int cpu);
|
||||
@@ -232,10 +233,11 @@ static void tick_do_broadcast_on_off(void *why)
|
||||
CLOCK_EVT_MODE_SHUTDOWN);
|
||||
}
|
||||
if (*reason == CLOCK_EVT_NOTIFY_BROADCAST_FORCE)
|
||||
dev->features |= CLOCK_EVT_FEAT_DUMMY;
|
||||
tick_broadcast_force = 1;
|
||||
break;
|
||||
case CLOCK_EVT_NOTIFY_BROADCAST_OFF:
|
||||
if (cpu_isset(cpu, tick_broadcast_mask)) {
|
||||
if (!tick_broadcast_force &&
|
||||
cpu_isset(cpu, tick_broadcast_mask)) {
|
||||
cpu_clear(cpu, tick_broadcast_mask);
|
||||
if (td->mode == TICKDEV_MODE_PERIODIC)
|
||||
tick_setup_periodic(dev, 0);
|
||||
|
||||
Reference in New Issue
Block a user