search for: on_each_cpu

Displaying 20 results from an estimated 47 matches for "on_each_cpu".

Did you mean: for_each_cpu
2007 May 14
5
[PATCH 1/6] lguest: host code tidyups
...ot;, lg->regs->trapnum, lg->regs->eip, lg->regs->trapnum == 14 ? cr2 : lg->regs->errcode); } @@ -420,7 +421,7 @@ static int __init init(void) lock_cpu_hotplug(); if (cpu_has_pge) { /* We have a broader idea of "global". */ cpu_had_pge = 1; - on_each_cpu(adjust_pge, 0, 0, 1); + on_each_cpu(adjust_pge, (void *)0, 0, 1); clear_bit(X86_FEATURE_PGE, boot_cpu_data.x86_capability); } unlock_cpu_hotplug(); =================================================================== --- a/drivers/lguest/hypercalls.c +++ b/drivers/lguest/hypercalls.c @@ -83,...
2007 May 14
5
[PATCH 1/6] lguest: host code tidyups
...ot;, lg->regs->trapnum, lg->regs->eip, lg->regs->trapnum == 14 ? cr2 : lg->regs->errcode); } @@ -420,7 +421,7 @@ static int __init init(void) lock_cpu_hotplug(); if (cpu_has_pge) { /* We have a broader idea of "global". */ cpu_had_pge = 1; - on_each_cpu(adjust_pge, 0, 0, 1); + on_each_cpu(adjust_pge, (void *)0, 0, 1); clear_bit(X86_FEATURE_PGE, boot_cpu_data.x86_capability); } unlock_cpu_hotplug(); =================================================================== --- a/drivers/lguest/hypercalls.c +++ b/drivers/lguest/hypercalls.c @@ -83,...
2006 May 15
20
[PATCH 0/3] xenoprof fixes
These patches address issues in the kernel part of xenoprof: * Ill-advised use of on_each_cpu() can lead to sleep with interrupts disabled. * Race conditions in active_domains code. * Cleanup of active_domains code. Comments welcome. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
2011 Mar 10
1
[PATCH 10/21] Staging: hv: Cleanup root device handling
...= info; - int ret; - - vmbus_device = dev; - - memcpy(&vmbus_device->dev_type, &device_type, sizeof(struct hv_guid)); - memcpy(&vmbus_device->dev_instance, &device_id, - sizeof(struct hv_guid)); - - /* strcpy(dev->name, "vmbus"); */ - /* SynIC setup... */ - on_each_cpu(hv_synic_init, (void *)irqvector, 1); - - /* Connect to VMBus in the root partition */ - ret = vmbus_connect(); - - /* VmbusSendEvent(device->localPortId+1); */ - return ret; -} - struct onmessage_work_context { struct work_struct work; @@ -416,17 +368,14 @@ static ssize_t vmbus_show_device...
2011 Mar 10
1
[PATCH 10/21] Staging: hv: Cleanup root device handling
...= info; - int ret; - - vmbus_device = dev; - - memcpy(&vmbus_device->dev_type, &device_type, sizeof(struct hv_guid)); - memcpy(&vmbus_device->dev_instance, &device_id, - sizeof(struct hv_guid)); - - /* strcpy(dev->name, "vmbus"); */ - /* SynIC setup... */ - on_each_cpu(hv_synic_init, (void *)irqvector, 1); - - /* Connect to VMBus in the root partition */ - ret = vmbus_connect(); - - /* VmbusSendEvent(device->localPortId+1); */ - return ret; -} - struct onmessage_work_context { struct work_struct work; @@ -416,17 +368,14 @@ static ssize_t vmbus_show_device...
2007 May 10
4
[PATCH 0/5] lguest feedback tidyups
Hi all, Gratefully-received recent feedback from CC'd was applied to excellent effect (and the advice from Matt Mackall about my personal appearance is best unrequited). The patch is split in 5 parts to correspond with the 9 parts Andrew sent out before, but here's the summary: 1) Sparse (thanks Christoph Hellwig): - lguest_const can be static now - lguest.c should include
2007 May 10
4
[PATCH 0/5] lguest feedback tidyups
Hi all, Gratefully-received recent feedback from CC'd was applied to excellent effect (and the advice from Matt Mackall about my personal appearance is best unrequited). The patch is split in 5 parts to correspond with the 9 parts Andrew sent out before, but here's the summary: 1) Sparse (thanks Christoph Hellwig): - lguest_const can be static now - lguest.c should include
2007 Apr 18
0
[PATCH 7/9] Fix nohz compile.patch
...d. And with the clocksource code now firmly in place, we can get rid of code that fixes up the wallclock, since this is done in the common infrastructure. This actually fixes a timer bug as well, that was caused by do_settimeofday no longer being callable with interrupts disabled due to the use of on_each_cpu(). Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r 5d41588419ab arch/i386/Kconfig --- a/arch/i386/Kconfig Tue Feb 27 17:24:55 2007 -0800 +++ b/arch/i386/Kconfig Tue Feb 27 17:25:44 2007 -0800 @@ -220,7 +220,7 @@ config PARAVIRT config VMI bool "VMI Paravirt-ops support&quo...
2007 Apr 18
0
[PATCH 7/9] Fix nohz compile.patch
...d. And with the clocksource code now firmly in place, we can get rid of code that fixes up the wallclock, since this is done in the common infrastructure. This actually fixes a timer bug as well, that was caused by do_settimeofday no longer being callable with interrupts disabled due to the use of on_each_cpu(). Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r 5d41588419ab arch/i386/Kconfig --- a/arch/i386/Kconfig Tue Feb 27 17:24:55 2007 -0800 +++ b/arch/i386/Kconfig Tue Feb 27 17:25:44 2007 -0800 @@ -220,7 +220,7 @@ config PARAVIRT config VMI bool "VMI Paravirt-ops support&quo...
2007 Apr 18
1
[patch 8/9] Guest page hinting: discarded page list.
...k); + list_splice_init(cpu_list, discard_list); + spin_unlock(&splice_lock); +} + +unsigned long page_shrink_discards(void) +{ + struct list_head pages_to_free = LIST_HEAD_INIT(pages_to_free); + struct page *page, *next; + unsigned long freed = 0; + + if (!page_host_discards()) + return 0; + + on_each_cpu(__page_shrink_discards, &pages_to_free, 0, 1); + + list_for_each_entry_safe(page, next, &pages_to_free, lru) { + ClearPageDiscarded(page); + free_cold_page(page); + freed++; + } + return freed; +} +#endif + /* * Free a 0-order page */ @@ -795,6 +831,16 @@ static void fastcall free_h...
2007 Apr 18
1
[patch 8/9] Guest page hinting: discarded page list.
...k); + list_splice_init(cpu_list, discard_list); + spin_unlock(&splice_lock); +} + +unsigned long page_shrink_discards(void) +{ + struct list_head pages_to_free = LIST_HEAD_INIT(pages_to_free); + struct page *page, *next; + unsigned long freed = 0; + + if (!page_host_discards()) + return 0; + + on_each_cpu(__page_shrink_discards, &pages_to_free, 0, 1); + + list_for_each_entry_safe(page, next, &pages_to_free, lru) { + ClearPageDiscarded(page); + free_cold_page(page); + freed++; + } + return freed; +} +#endif + /* * Free a 0-order page */ @@ -795,6 +831,16 @@ static void fastcall free_h...
2013 May 08
12
[PATCH v3 0/4] xen/arm: CONFIG_PARAVIRT and stolen ticks accounting
Hi all, this patch series introduces stolen ticks accounting for Xen on ARM. Stolen ticks are clocksource ticks that have been "stolen" from the cpu, typically because Linux is running in a virtual machine and the vcpu has been descheduled. To account for these ticks we introduce CONFIG_PARAVIRT and pv_time_ops so that we can make use of:
2013 May 07
1
[PATCH V2] xen/arm: implement smp_call_function
...t; #include <xen/cache.h> +#include <xen/types.h> typedef struct { unsigned int __softirq_pending; diff --git a/xen/include/xen/smp.h b/xen/include/xen/smp.h index e05f390..6febb56 100644 --- a/xen/include/xen/smp.h +++ b/xen/include/xen/smp.h @@ -58,6 +58,13 @@ static inline void on_each_cpu( on_selected_cpus(&cpu_online_map, func, info, wait); } +/* + * Call a function on the current CPU + */ +void smp_call_function_interrupt(void); + +void smp_send_call_function_mask(const cpumask_t *mask); + #define smp_processor_id() raw_smp_processor_id() int alloc_cpu_id(void); --...
2019 Jul 02
2
[PATCH v2 0/9] x86: Concurrent TLB flushes
...CPUs to initiate the flush, then run it locally, and finally wait for the remote CPUs to finish their work. In addition, there are various small optimizations to avoid unwarranted false-sharing and atomic operations. The proposed changes should also improve the performance of other invocations of on_each_cpu(). Hopefully, no one has relied on this behavior of on_each_cpu() that invoked functions first remotely and only then locally [Peter says he remembers someone might do so, but without further information it is hard to know how to address it]. Running sysbench on dax/ext4 w/emulated-pmem, write-cac...
2019 Jul 19
5
[PATCH v3 0/9] x86: Concurrent TLB flushes
...CPUs to initiate the flush, then run it locally, and finally wait for the remote CPUs to finish their work. In addition, there are various small optimizations to avoid unwarranted false-sharing and atomic operations. The proposed changes should also improve the performance of other invocations of on_each_cpu(). Hopefully, no one has relied on this behavior of on_each_cpu() that invoked functions first remotely and only then locally [Peter says he remembers someone might do so, but without further information it is hard to know how to address it]. Running sysbench on dax/ext4 w/emulated-pmem, write-cac...
2011 Aug 15
9
[PATCH 0/8] Staging: hv: vmbus: Driver cleanup
Further cleanup of the vmbus driver: 1) Cleanup the interrupt handler by inlining some code. 2) Ensure message handling is performed on the same CPU that takes the vmbus interrupt. 3) Check for events before messages (from the host). 4) Disable auto eoi for the vmbus interrupt since Linux will eoi the interrupt anyway. 5) Some general cleanup. Regards, K. Y
2011 Aug 15
9
[PATCH 0/8] Staging: hv: vmbus: Driver cleanup
Further cleanup of the vmbus driver: 1) Cleanup the interrupt handler by inlining some code. 2) Ensure message handling is performed on the same CPU that takes the vmbus interrupt. 3) Check for events before messages (from the host). 4) Disable auto eoi for the vmbus interrupt since Linux will eoi the interrupt anyway. 5) Some general cleanup. Regards, K. Y
2020 Feb 12
5
[PATCH 0/5] x86/vmware: Steal time accounting support
Hello, This patchset introduces steal time accounting support for the VMware guest. The idea and implementation of guest steal time support is similar to KVM ones and it is based on steal clock. The steal clock is a per CPU structure in a shared memory between hypervisor and guest, initialized by each CPU through hypercall. Steal clock is got updated by the hypervisor and read by the guest. The
2011 Mar 15
16
[PATCH 00/12] Staging: hv: Cleanup vmbus driver - Phase II
This patch-set fixes the following issues in the vmbus driver (vmbus_drv.c): Make vmbus driver a platform pci device and cleanup root device management and irq allocation (patches 1/12 through 3/12): 1) Make vmbus driver a platform pci driver. 2) Cleanup root device management. 3) Leverage the pci model for allocating irq. General cleanup of vmbus driver (patches 4/12 though 12/12): 1)
2011 Mar 15
16
[PATCH 00/12] Staging: hv: Cleanup vmbus driver - Phase II
This patch-set fixes the following issues in the vmbus driver (vmbus_drv.c): Make vmbus driver a platform pci device and cleanup root device management and irq allocation (patches 1/12 through 3/12): 1) Make vmbus driver a platform pci driver. 2) Cleanup root device management. 3) Leverage the pci model for allocating irq. General cleanup of vmbus driver (patches 4/12 though 12/12): 1)