Merge branch 'linus' into x86/mm to pick up fixes and to fix conflicts
Conflicts: arch/x86/kernel/head64.c arch/x86/mm/mmap.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -38,8 +38,10 @@ static void __init *max7315_platform_data(void *info)
|
||||
*/
|
||||
strcpy(i2c_info->type, "max7315");
|
||||
if (nr++) {
|
||||
sprintf(base_pin_name, "max7315_%d_base", nr);
|
||||
sprintf(intr_pin_name, "max7315_%d_int", nr);
|
||||
snprintf(base_pin_name, sizeof(base_pin_name),
|
||||
"max7315_%d_base", nr);
|
||||
snprintf(intr_pin_name, sizeof(intr_pin_name),
|
||||
"max7315_%d_int", nr);
|
||||
} else {
|
||||
strcpy(base_pin_name, "max7315_base");
|
||||
strcpy(intr_pin_name, "max7315_int");
|
||||
|
@@ -26,7 +26,7 @@
|
||||
static struct bau_operations ops __ro_after_init;
|
||||
|
||||
/* timeouts in nanoseconds (indexed by UVH_AGING_PRESCALE_SEL urgency7 30:28) */
|
||||
static int timeout_base_ns[] = {
|
||||
static const int timeout_base_ns[] = {
|
||||
20,
|
||||
160,
|
||||
1280,
|
||||
@@ -40,7 +40,6 @@ static int timeout_base_ns[] = {
|
||||
static int timeout_us;
|
||||
static bool nobau = true;
|
||||
static int nobau_perm;
|
||||
static cycles_t congested_cycles;
|
||||
|
||||
/* tunables: */
|
||||
static int max_concurr = MAX_BAU_CONCURRENT;
|
||||
@@ -829,10 +828,10 @@ static void record_send_stats(cycles_t time1, cycles_t time2,
|
||||
if ((completion_status == FLUSH_COMPLETE) && (try == 1)) {
|
||||
bcp->period_requests++;
|
||||
bcp->period_time += elapsed;
|
||||
if ((elapsed > congested_cycles) &&
|
||||
if ((elapsed > usec_2_cycles(bcp->cong_response_us)) &&
|
||||
(bcp->period_requests > bcp->cong_reps) &&
|
||||
((bcp->period_time / bcp->period_requests) >
|
||||
congested_cycles)) {
|
||||
usec_2_cycles(bcp->cong_response_us))) {
|
||||
stat->s_congested++;
|
||||
disable_for_period(bcp, stat);
|
||||
}
|
||||
@@ -1217,7 +1216,7 @@ static struct bau_pq_entry *find_another_by_swack(struct bau_pq_entry *msg,
|
||||
* set a bit in the UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE register.
|
||||
* Such a message must be ignored.
|
||||
*/
|
||||
void process_uv2_message(struct msg_desc *mdp, struct bau_control *bcp)
|
||||
static void process_uv2_message(struct msg_desc *mdp, struct bau_control *bcp)
|
||||
{
|
||||
unsigned long mmr_image;
|
||||
unsigned char swack_vec;
|
||||
@@ -2222,14 +2221,17 @@ static int __init uv_bau_init(void)
|
||||
else if (is_uv1_hub())
|
||||
ops = uv1_bau_ops;
|
||||
|
||||
nuvhubs = uv_num_possible_blades();
|
||||
if (nuvhubs < 2) {
|
||||
pr_crit("UV: BAU disabled - insufficient hub count\n");
|
||||
goto err_bau_disable;
|
||||
}
|
||||
|
||||
for_each_possible_cpu(cur_cpu) {
|
||||
mask = &per_cpu(uv_flush_tlb_mask, cur_cpu);
|
||||
zalloc_cpumask_var_node(mask, GFP_KERNEL, cpu_to_node(cur_cpu));
|
||||
}
|
||||
|
||||
nuvhubs = uv_num_possible_blades();
|
||||
congested_cycles = usec_2_cycles(congested_respns_us);
|
||||
|
||||
uv_base_pnode = 0x7fffffff;
|
||||
for (uvhub = 0; uvhub < nuvhubs; uvhub++) {
|
||||
cpus = uv_blade_nr_possible_cpus(uvhub);
|
||||
@@ -2242,9 +2244,8 @@ static int __init uv_bau_init(void)
|
||||
enable_timeouts();
|
||||
|
||||
if (init_per_cpu(nuvhubs, uv_base_pnode)) {
|
||||
set_bau_off();
|
||||
nobau_perm = 1;
|
||||
return 0;
|
||||
pr_crit("UV: BAU disabled - per CPU init failed\n");
|
||||
goto err_bau_disable;
|
||||
}
|
||||
|
||||
vector = UV_BAU_MESSAGE;
|
||||
@@ -2270,6 +2271,16 @@ static int __init uv_bau_init(void)
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_bau_disable:
|
||||
|
||||
for_each_possible_cpu(cur_cpu)
|
||||
free_cpumask_var(per_cpu(uv_flush_tlb_mask, cur_cpu));
|
||||
|
||||
set_bau_off();
|
||||
nobau_perm = 1;
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
core_initcall(uv_bau_init);
|
||||
fs_initcall(uv_ptc_init);
|
||||
|
Reference in New Issue
Block a user