Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 312439
b: refs/heads/master
c: d872818
h: refs/heads/master
i:
  312437: 3d33199
  312435: ea419ce
  312431: 979393c
v: v3
  • Loading branch information
Suresh Siddha authored and Ingo Molnar committed Jul 6, 2012
1 parent 0586c0f commit 2b350ba
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1ac322d0b169c95ce34d55b3ed6d40ce1a5f3a02
refs/heads/master: d872818dbbeed1bccf58c7f8c7db432154c802f9
21 changes: 19 additions & 2 deletions trunk/arch/x86/kernel/apic/x2apic_cluster.c
Original file line number Diff line number Diff line change
Expand Up @@ -209,13 +209,30 @@ static int x2apic_cluster_probe(void)
return 0;
}

static const struct cpumask *x2apic_cluster_target_cpus(void)
{
return cpu_all_mask;
}

/*
* Each x2apic cluster is an allocation domain.
*/
static void cluster_vector_allocation_domain(int cpu, struct cpumask *retmask,
const struct cpumask *mask)
{
cpumask_and(retmask, mask, per_cpu(cpus_in_cluster, cpu));
/*
* To minimize vector pressure, default case of boot, device bringup
* etc will use a single cpu for the interrupt destination.
*
* On explicit migration requests coming from irqbalance etc,
* interrupts will be routed to the x2apic cluster (cluster-id
* derived from the first cpu in the mask) members specified
* in the mask.
*/
if (mask == x2apic_cluster_target_cpus())
cpumask_copy(retmask, cpumask_of(cpu));
else
cpumask_and(retmask, mask, per_cpu(cpus_in_cluster, cpu));
}

static struct apic apic_x2apic_cluster = {
Expand All @@ -229,7 +246,7 @@ static struct apic apic_x2apic_cluster = {
.irq_delivery_mode = dest_LowestPrio,
.irq_dest_mode = 1, /* logical */

.target_cpus = online_target_cpus,
.target_cpus = x2apic_cluster_target_cpus,
.disable_esr = 0,
.dest_logical = APIC_DEST_LOGICAL,
.check_apicid_used = NULL,
Expand Down

0 comments on commit 2b350ba

Please sign in to comment.