search for: send_ipi_mask

Displaying 20 results from an estimated 25 matches for "send_ipi_mask".

2011 Sep 07
10
[PATCH] IRQ: Group IRQ_MOVE_CLEANUP_VECTOR with other hypervisor IPIs
...UP_DELAY, irq, vector, smp_processor_id()); goto unlock; @@ -513,7 +513,7 @@ static void send_cleanup_vector(struct i cpus_and(cleanup_mask, cfg->old_cpu_mask, cpu_online_map); cfg->move_cleanup_count = cpus_weight(cleanup_mask); - genapic->send_IPI_mask(&cleanup_mask, IRQ_MOVE_CLEANUP_VECTOR); + genapic->send_IPI_mask(&cleanup_mask, MOVE_CLEANUP_VECTOR); cfg->move_in_progress = 0; } diff -r 0268e7380953 -r c7884dbb6f7d xen/arch/x86/irq.c --- a/xen/arch/x86/irq.c Mon Sep 05 15:10:28 2011 +0100 +++ b/xen/arch/x86/irq.c Wed S...
2013 May 07
1
[PATCH V2] xen/arm: implement smp_call_function
...mask, GIC_SGI_EVENT_CHECK); + send_SGI_mask(mask, GIC_SGI_CALL_FUNCTION); } /* diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c index a607531..0433f30 100644 --- a/xen/arch/x86/smp.c +++ b/xen/arch/x86/smp.c @@ -269,67 +269,16 @@ void smp_send_event_check_mask(const cpumask_t *mask) send_IPI_mask(mask, EVENT_CHECK_VECTOR); } -/* - * Structure and data for smp_call_function()/on_selected_cpus(). - */ - -static void __smp_call_function_interrupt(void); -static DEFINE_SPINLOCK(call_lock); -static struct call_data_struct { - void (*func) (void *info); - void *info; - int wait; -...
2013 Sep 11
0
[RFC PATCH v2 22/25] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index cdaa347..b631e72 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static inline voi...
2013 Sep 11
0
[RFC PATCH v2 22/25] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index cdaa347..b631e72 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static inline voi...
2013 Sep 11
0
[RFC PATCH v2 22/25] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index cdaa347..b631e72 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static inline voi...
2007 Apr 18
2
[PATCH] Simplify smp_call_function*() by using common implementation
...nction(void (*f call_data = &data; mb(); - - /* Send a message to all other CPUs and wait for them to respond */ - send_IPI_allbutself(CALL_FUNCTION_VECTOR); + + /* Send a message to other CPUs */ + if (cpus_equal(mask, allbutself)) + send_IPI_allbutself(CALL_FUNCTION_VECTOR); + else + send_IPI_mask(mask, CALL_FUNCTION_VECTOR); /* Wait for response */ while (atomic_read(&data.started) != cpus) @@ -544,6 +559,34 @@ static void __smp_call_function(void (*f if (wait) while (atomic_read(&data.finished) != cpus) cpu_relax(); + + return 0; +} + +/** + * smp_call_function_mask(...
2007 Apr 18
2
[PATCH] Simplify smp_call_function*() by using common implementation
...nction(void (*f call_data = &data; mb(); - - /* Send a message to all other CPUs and wait for them to respond */ - send_IPI_allbutself(CALL_FUNCTION_VECTOR); + + /* Send a message to other CPUs */ + if (cpus_equal(mask, allbutself)) + send_IPI_allbutself(CALL_FUNCTION_VECTOR); + else + send_IPI_mask(mask, CALL_FUNCTION_VECTOR); /* Wait for response */ while (atomic_read(&data.started) != cpus) @@ -544,6 +559,34 @@ static void __smp_call_function(void (*f if (wait) while (atomic_read(&data.finished) != cpus) cpu_relax(); + + return 0; +} + +/** + * smp_call_function_mask(...
2013 Dec 15
0
[PATCH v3 [resend] 15/18] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 7c3a5a6..f363dd2 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ __visible void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static...
2013 Dec 15
0
[PATCH v3 [resend] 15/18] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 7c3a5a6..f363dd2 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ __visible void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static...
2013 Dec 15
0
[PATCH v3 [resend] 15/18] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 7c3a5a6..f363dd2 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ __visible void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static...
2013 Dec 04
1
[RFC PATCH v3 19/19] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 7c3a5a6..f363dd2 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ __visible void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static...
2013 Dec 04
1
[RFC PATCH v3 19/19] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 7c3a5a6..f363dd2 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ __visible void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static...
2013 Dec 04
1
[RFC PATCH v3 19/19] smp, x86: kill SMP single function call interrupt
...VECTOR, used_vectors); diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 7c3a5a6..f363dd2 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -129,7 +129,7 @@ static void native_smp_send_reschedule(int cpu) void native_send_call_func_single_ipi(int cpu) { - apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); + apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_VECTOR); } void native_send_call_func_ipi(const struct cpumask *mask) @@ -311,28 +311,6 @@ __visible void smp_trace_call_function_interrupt(struct pt_regs *regs) exiting_irq(); } -static...
2007 Apr 18
1
[PATCH] Add smp_ops interface
...i386/kernel/smp.c @@ -483,7 +483,7 @@ void flush_tlb_all(void) * it goes straight through and wastes no time serializing * anything. Worst case is that we lose a reschedule ... */ -void smp_send_reschedule(int cpu) +void native_smp_send_reschedule(int cpu) { WARN_ON(cpu_is_offline(cpu)); send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); @@ -576,9 +576,9 @@ static int __smp_call_function_mask(cpum * You must not call this function with disabled interrupts or from a * hardware interrupt handler or from a bottom half handler. */ -int smp_call_function_mask(cpumask_t mask, - void (...
2007 Apr 18
1
[PATCH] Add smp_ops interface
...i386/kernel/smp.c @@ -483,7 +483,7 @@ void flush_tlb_all(void) * it goes straight through and wastes no time serializing * anything. Worst case is that we lose a reschedule ... */ -void smp_send_reschedule(int cpu) +void native_smp_send_reschedule(int cpu) { WARN_ON(cpu_is_offline(cpu)); send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); @@ -576,9 +576,9 @@ static int __smp_call_function_mask(cpum * You must not call this function with disabled interrupts or from a * hardware interrupt handler or from a bottom half handler. */ -int smp_call_function_mask(cpumask_t mask, - void (...
2007 Oct 31
3
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Consolidation part
Hi folks, Here is the result of the latest work on the pvops front, after the x86 arch merge. From the functionality point of view, almost nothing was changed, except for proper vsmp support - which was discussed, but not implemented before - and the introduction of smp_ops in x86_64, which eased the merging of the smp header. Speaking of the merge, a significant part (although not majority) of
2007 Oct 31
3
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Consolidation part
Hi folks, Here is the result of the latest work on the pvops front, after the x86 arch merge. From the functionality point of view, almost nothing was changed, except for proper vsmp support - which was discussed, but not implemented before - and the introduction of smp_ops in x86_64, which eased the merging of the smp header. Speaking of the merge, a significant part (although not majority) of
2013 Apr 09
39
[PATCH 0/4] Add posted interrupt supporting
From: Yang Zhang <yang.z.zhang@Intel.com> The follwoing patches are adding the Posted Interrupt supporting to Xen: Posted Interrupt allows vAPIC interrupts to inject into guest directly without any vmexit. - When delivering a interrupt to guest, if target vcpu is running, update Posted-interrupt requests bitmap and send a notification event to the vcpu. Then the vcpu will handle this
2007 Apr 28
3
[PATCH] i386: introduce voyager smp_ops, fix voyager build
...p.c @@ -468,7 +468,7 @@ void flush_tlb_all(void) * it goes straight through and wastes no time serializing * anything. Worst case is that we lose a reschedule ... */ -void native_smp_send_reschedule(int cpu) +static void native_smp_send_reschedule(int cpu) { WARN_ON(cpu_is_offline(cpu)); send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); @@ -547,9 +547,10 @@ static void __smp_call_function(void (*f * You must not call this function with disabled interrupts or from a * hardware interrupt handler or from a bottom half handler. */ -int native_smp_call_function_mask(cpumask_t mask, -...
2007 Apr 28
3
[PATCH] i386: introduce voyager smp_ops, fix voyager build
...p.c @@ -468,7 +468,7 @@ void flush_tlb_all(void) * it goes straight through and wastes no time serializing * anything. Worst case is that we lose a reschedule ... */ -void native_smp_send_reschedule(int cpu) +static void native_smp_send_reschedule(int cpu) { WARN_ON(cpu_is_offline(cpu)); send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); @@ -547,9 +547,10 @@ static void __smp_call_function(void (*f * You must not call this function with disabled interrupts or from a * hardware interrupt handler or from a bottom half handler. */ -int native_smp_call_function_mask(cpumask_t mask, -...