- jwbo...@redhat.com wrote:
> On Wed, Mar 13, 2013 at 09:25:44AM -0400, Boris Ostrovsky wrote:
> > On 03/01/2013 07:14 AM, Josh Boyer wrote:
> > >On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
> > >>On 02/28/2013 04:42 PM, Josh Boyer wrote:
>
On 03/23/2013 09:36 AM, Konrad Rzeszutek Wilk wrote:
From: Boris Ostrovsky
Invoking arch_flush_lazy_mmu_mode() results in calls to
preempt_enable()/disable() which may have performance impact.
Since lazy MMU is not used on bare metal we can patch away
arch_flush_lazy_mmu_mode() so that it is
From: Boris Ostrovsky
Enable WC+ memory type on AMD family 10h processors if BIOS doesn't do
this. WC+ is used only in in virtualized scenarios and never in bare metal
cases (see AMD APM v2).
Also clean up init_amd() a little.
Boris Ostrovsky (2):
AMD,x86: Clean up init_amd()
x8
From: Boris Ostrovsky
Clean up multiple declarations of variable used for rd/wrmsr
Signed-off-by: Boris Ostrovsky
---
arch/x86/kernel/cpu/amd.c | 29 -
1 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel
From: Boris Ostrovsky
In some cases BIOS may not enable WC+ memory type on family 10
processors, instead converting what would be WC+ memory to CD type.
On guests using nested pages this could result in performance
degradation. This patch enables WC+.
Signed-off-by: Boris Ostrovsky
---
arch
clean up init_amd() a little.
Boris Ostrovsky (2):
AMD,x86: Clean up init_amd()
x86,AMD: Enable WC+ memory type on family 10 processors
arch/x86/include/uapi/asm/msr-index.h |1 +
arch/x86/kernel/cpu/amd.c | 49 ++---
2 files changed, 28 inser
Clean up multiple declarations of variable used for rd/wrmsr
Signed-off-by: Boris Ostrovsky
---
arch/x86/kernel/cpu/amd.c | 29 -
1 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 15239ff
In some cases BIOS may not enable WC+ memory type on family 10
processors, instead converting what would be WC+ memory to CD type.
On guests using nested pages this could result in performance
degradation. This patch enables WC+.
Signed-off-by: Boris Ostrovsky
---
arch/x86/include/uapi/asm/msr
__tlb_remove_page() -> tlb_next_batch().
Signed-off-by: Boris Ostrovsky
---
arch/x86/mm/pageattr.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index ca1f1c2..7b3216e 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -136
- h...@zytor.com wrote:
> On 02/26/2013 02:56 PM, Boris Ostrovsky wrote:
> > When CONFIG_DEBUG_PAGEALLOC is set page table updates made by
> > kernel_map_pages() are not made visible (via TLB flush) immediately
> if lazy
> > MMU is on. In environments that support
On 02/28/2013 11:10 AM, Borislav Petkov wrote:
On Thu, Feb 28, 2013 at 07:53:44AM -0800, H. Peter Anvin wrote:
At the very least we should have an early filter for the **COMMON!**
case that we are not on a PV platform.
... or, patch it out with the alternatives on baremetal, as Steven
suggested
On 02/28/2013 11:22 AM, Borislav Petkov wrote:
On Thu, Feb 28, 2013 at 11:20:20AM -0500, Boris Ostrovsky wrote:
On 02/28/2013 11:10 AM, Borislav Petkov wrote:
On Thu, Feb 28, 2013 at 07:53:44AM -0800, H. Peter Anvin wrote:
At the very least we should have an early filter for the **COMMON
Invoking arch_flush_lazy_mmu_mode() results in calls to
preempt_enable()/disable() which may have performance impact.
Since lazy MMU is not used on bare metal we can patch away
arch_flush_lazy_mmu_mode() so that it is never called in such
environment.
Signed-off-by: Boris Ostrovsky
---
arch
On 02/19/2013 12:57 PM, Konrad Rzeszutek Wilk wrote:
On Tue, Feb 19, 2013 at 06:47:58PM +0100, Borislav Petkov wrote:
On Tue, Feb 19, 2013 at 09:38:31AM -0800, H. Peter Anvin wrote:
My fault... I was tracking the fix and lost track of the thread.
The problem is that the fix is necessary but no
On 02/19/2013 01:21 PM, H. Peter Anvin wrote:
On 02/19/2013 10:19 AM, Boris Ostrovsky wrote:
On 02/19/2013 12:57 PM, Konrad Rzeszutek Wilk wrote:
On Tue, Feb 19, 2013 at 06:47:58PM +0100, Borislav Petkov wrote:
On Tue, Feb 19, 2013 at 09:38:31AM -0800, H. Peter Anvin wrote:
My fault... I was
On 03/01/2013 07:14 AM, Josh Boyer wrote:
On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
On 02/28/2013 04:42 PM, Josh Boyer wrote:
On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
I'll try to get
hould use.
Signed-off-by: Boris Ostrovsky
---
arch/x86/kernel/cpu/mcheck/mce_amd.c | 21 +
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c
b/arch/x86/kernel/cpu/mcheck/mce_amd.c
index 1ac581f..cb7c739 100644
--- a/arch/x86/k
Use helper function instead of an array to report whether register
bank is shared. Currently only bank 4 (northbridge) is shared.
Signed-off-by: Boris Ostrovsky
---
arch/x86/kernel/cpu/mcheck/mce_amd.c | 17 +
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/arch
Boris,
Here is the updated patch for determining number of regiter banks on
AMD plus a patch removing shared_bank array, as you suggested.
Offline/online testing didn't show any issues.
Boris Ostrovsky (2):
x86/mce: Replace shared_bank array with is_shared_bank() helper
x86/mce
at we should use.
Signed-off-by: Boris Ostrovsky
---
arch/x86/kernel/cpu/mcheck/mce_amd.c | 21 ++---
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c
b/arch/x86/kernel/cpu/mcheck/mce_amd.c
index 654a155..13a22e2 100644
--- a/arc
- torva...@linux-foundation.org wrote:
> On Sun, Oct 6, 2013 at 1:23 AM, Fengguang Wu
> wrote:
> >
> > I got the below dmesg and the first bad commit is commit
> cf39c8e5352b:
> > Merge tag 'stable/for-linus-3.12-rc0-tag' of
> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
>
> Ug
is no put_balloon_scratch_page() in the error path.)
In addition, the second multicall uses __xen_mc_entry() which does not disable
interrupts. Rearrange xen_mc_* calls to keep interrupts off while performing
multicalls.
Signed-off-by: Boris Ostrovsky
---
arch/x86/xen/p2m.c | 10 ++
1
- michael.opdenac...@free-electrons.com wrote:
> This patch proposes to remove the IRQF_DISABLED flag from x86/xen
> code. It's a NOOP since 2.6.35 and it will be removed one day.
>
> Signed-off-by: Michael Opdenacker
>
> ---
> arch/x86/xen/smp.c | 10 +-
> arch/x86/xen/spinlo
Set Xen's PMU mode via /sys/hypervisor/pmu/pmu_mode. Add XENPMU hypercall.
Signed-off-by: Boris Ostrovsky
---
arch/x86/include/asm/xen/hypercall.h | 6 ++
arch/x86/xen/xen-head.S | 5 +-
drivers/xen/sys-hypervisor.c | 118 +++
includ
symbols to dom0 (similar to
/proc/kallsyms)
* VPMU infrastructure is now used for both HVM and PV and therefore has been
moved
up from hvm subtree
Boris Ostrovsky (5):
xen: xensyms support
xen/PMU: Sysfs interface for setting Xen PMU mode
xen/PMU: Initialization code for Xen PMU
xen
Export Xen symbols to dom0 via /proc/xen/xensyms (similar to /proc/kallsyms).
Signed-off-by: Boris Ostrovsky
---
drivers/xen/Kconfig | 5 ++
drivers/xen/xenfs/Makefile | 1 +
drivers/xen/xenfs/super.c| 3 +
drivers/xen/xenfs/xenfs.h| 1 +
drivers/xen
Avoid trapping to hypervisor on each MSR access during interrupt handling.
Instead, use cached MSR values provided in shared xenpmu_data by Xen. When
handling is completed, flush the registers to hypervisor who will load them
into HW.
Signed-off-by: Boris Ostrovsky
---
arch/x86/xen/pmu.c
Map shared data structure that will hold CPU registers, VPMU context,
VCPU/PCPI IDs of the VCPU interrupted by PMU interrupt. Hypervisor
fills this information in its handler and passes it to the guest for
further processing.
Set up PMU VIRQ.
Signed-off-by: Boris Ostrovsky
---
arch/x86/xen
PMU emulation code: MSR caching in PMU context and LVTPC APIC
handling. (Portions of this code are taken from Xen's VPMU
implementation)
Signed-off-by: Boris Ostrovsky
---
arch/x86/xen/enlighten.c | 27 +++-
arch/x86/xen/pmu.c
On 09/11/2013 05:33 AM, David Vrabel wrote:
On 10/09/13 16:31, Boris Ostrovsky wrote:
This is the Linux side of Xen PMU support for PV guests, including dom0. Only
kernel changes are here, toolstack patch will be provided separately.
Here is description from the hypervisor patch submission
: Konrad Rzeszutek Wilk
Signed-off-by: Boris Ostrovsky
---
arch/x86/xen/spinlock.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 253f63f..d90628d 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen
On 10/07/2013 02:55 AM, Greg Kroah-Hartman wrote:
The dev_attrs field of struct bus_type is going away soon, dev_groups
should be used instead. This converts the xenbus code to use the
correct field.
Cc: Konrad Rzeszutek Wilk
Cc: Boris Ostrovsky
Cc: David Vrabel
Cc:
Signed-off-by: Greg
On 09/23/2013 09:17 AM, Konrad Rzeszutek Wilk wrote:
On Tue, Sep 10, 2013 at 11:31:47AM -0400, Boris Ostrovsky wrote:
+
+/* Parameter structure for HYPERVISOR_xenpmu_op call */
+struct xenpmu_params {
+ union {
+ struct version {
+ uint8_t maj
On 09/23/2013 09:26 AM, Konrad Rzeszutek Wilk wrote:
On Tue, Sep 10, 2013 at 11:31:48AM -0400, Boris Ostrovsky wrote:
Map shared data structure that will hold CPU registers, VPMU context,
VCPU/PCPI IDs of the VCPU interrupted by PMU interrupt. Hypervisor
fills this information in its handler
On 09/23/2013 10:18 AM, Boris Ostrovsky wrote:
On 09/23/2013 09:26 AM, Konrad Rzeszutek Wilk wrote:
On Tue, Sep 10, 2013 at 11:31:48AM -0400, Boris Ostrovsky wrote:
Map shared data structure that will hold CPU registers, VPMU context,
VCPU/PCPI IDs of the VCPU interrupted by PMU interrupt
On 09/12/2013 10:47 PM, Steven Rostedt wrote:
On Thu, 12 Sep 2013 22:29:44 -0400
Boris Ostrovsky wrote:
From: Konrad Rzeszutek Wilk
xen_init_spinlocks() currently calls static_key_slow_inc() before
jump_label_init() is invoked. When CONFIG_JUMP_LABEL is set (which usually is
the case) the
Add family 16h PCI ID to AMD's power driver to allow it report
power consumption on these processors.
Signed-off-by: Boris Ostrovsky
---
drivers/hwmon/fam15h_power.c |1 +
include/linux/pci_ids.h |1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/hwmon/fam15h_powe
Add family 16h PCI ID to AMD's power driver to allow it report
power consumption on these processors.
Signed-off-by: Boris Ostrovsky
---
drivers/hwmon/fam15h_power.c |4
1 file changed, 4 insertions(+)
diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
Add valid patch size for family 16h processors
Signed-off-by: Boris Ostrovsky
---
arch/x86/kernel/microcode_amd.c |4
1 file changed, 4 insertions(+)
diff --git a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c
index 7720ff5..58790e8 100644
--- a/arch/x86/kernel
On 11/15/2012 03:45 PM, Henrique de Moraes Holschuh wrote:
On Thu, 15 Nov 2012, Boris Ostrovsky wrote:
Add valid patch size for family 16h processors
Signed-off-by: Boris Ostrovsky
Is this something that needs to go to -stable ?
#define F1XH_MPB_MAX_SIZE 2048
#define
On 11/15/2012 06:01 PM, Gene Heskett wrote:
On Thursday 15 November 2012, Henrique de Moraes Holschuh wrote:
On Thu, 15 Nov 2012, Boris Ostrovsky wrote:
Add valid patch size for family 16h processors
Signed-off-by: Boris Ostrovsky
Is this something that needs to go to -stable ?
IMO
On 08/05/2013 02:05 PM, Konrad Rzeszutek Wilk wrote:
Both Boris and David have graciously volunteered to help in
maintaining the Xen subsystem tree. Cementing this in the
MAINTAINERS file so they are copied on Xen related patches.
CC: Boris Ostrovsky
CC: David Vrabel
Signed-off-by: Konrad
On 04/10/2013 08:30 PM, tip-bot for Boris Ostrovsky wrote:
Commit-ID: 511ba86e1d386f671084b5d0e6f110bb30b8eeb2
Gitweb: http://git.kernel.org/tip/511ba86e1d386f671084b5d0e6f110bb30b8eeb2
Author: Boris Ostrovsky
AuthorDate: Sat, 23 Mar 2013 09:36:36 -0400
Committer: H. Peter Anvin
__tlb_remove_page() -> tlb_next_batch().
Signed-off-by: Boris Ostrovsky
---
arch/x86/mm/pageattr.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 091934e..2ccbe0b 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -141
On 01/20/2013 06:57 AM, Jörg Rödel wrote:
On Sun, Jan 20, 2013 at 12:48:28PM +0100, Borislav Petkov wrote:
On Sun, Jan 20, 2013 at 12:40:11PM +0100, Jörg Rödel wrote:
Yes, the BIOS vendor can fix this issue. They need to disable NB clock
gating for the IOMMU.
Right, Udo, you can try Gigabyt
On 01/18/2013 02:00 PM, Konrad Rzeszutek Wilk wrote:
So something like this in the hypervisor maybe (not even tested):
diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c
b/xen/arch/x86/acpi/cpufreq/powernow.c
index a9b7792..54e7808 100644
--- a/xen/arch/x86/acpi/cpufreq/powernow.c
+++ b/xen/a
On 01/22/2013 09:13 AM, Udo van den Heuvel wrote:
Gigabyte demonstrate that using ESX 5i IOMMU works fine. (with pictures
attached).
There are no attachments to your message.
I am not sure that 5i supports IOMMU (but I may well be wrong).
What can we bring against that?
How reproducible
On 01/22/2013 10:27 AM, Udo van den Heuvel wrote:
On 2013-01-22 15:36, Boris Ostrovsky wrote:
Gigabyte demonstrate that using ESX 5i IOMMU works fine. (with pictures
attached).
There are no attachments to your message.
Correct, gigabyte did send them via their support web-interface.
Do yo
On 01/18/2013 02:00 PM, Konrad Rzeszutek Wilk wrote:
Right, that information is gathered from the MSRs. I think the Xen would
need to do this since it can do the MSRs correctly and modify the P-states.
So something like this in the hypervisor maybe (not even tested):
Is there any harm in allo
On 07/21/2016 10:14 AM, Konrad Rzeszutek Wilk wrote:
> On Fri, Jul 10, 2015 at 02:57:51PM -0400, Konrad Rzeszutek Wilk wrote:
>> On Fri, Jul 10, 2015 at 02:37:46PM -0400, Konrad Rzeszutek Wilk wrote:
>>> When Xen migrates an HVM guest, by default its shared_info can
>>> only hold up to 32 CPUs. As
This will match how PMU errors are reported at check_hw_exists()'s
msr_fail label, which is reached when VPMU initialzation fails.
Signed-off-by: Boris Ostrovsky
---
arch/x86/xen/pmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/xen/pmu.c b/arch/x86/xen/
o https://www.mail-archive.com/xen-devel@lists.xen.org/msg72174.html
>
> Cc: Jan Beulich
> Cc: Boris Ostrovsky
> Cc: sta...@vger.kernel.org
> Signed-off-by: Andrey Grodzovsky
+ David and Juergen (maintainers) and kernel list.
Reviewed-by: Boris Ostrovsky
> ---
> d
> Split out the search function.
>
> Signed-off-by: Juergen Gross
Reviewed-by: Boris Ostrovsky
On 09/22/2016 04:45 AM, Juergen Gross wrote:
> The Xen pciback driver has a list of all pci devices it is ready to
> seize. There is no check whether a to be added entry already exists.
> While this might be no problem in the common case it might confuse
> those which consume the list via sysfs.
>
On 09/22/2016 04:45 AM, Juergen Gross wrote:
> Support the driver_override scheme introduced with commit 782a985d7af2
> ("PCI: Introduce new device binding path using pci_dev.driver_override")
>
> As pcistub_probe() is called for all devices (it has to check for a
> match based on the slot address
Otherwise we will try to dereference ds which has not been allocated.
Signed-off-by: Boris Ostrovsky
---
arch/x86/events/intel/bts.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/events/intel/bts.c b/arch/x86/events/intel/bts.c
index bdcd651..1f5657f 100644
--- a/arch/x86
On 07/28/2016 12:14 PM, kbuild test robot wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git smp/hotplug
head: c713c8cb2055f5f3b32ee4315be589177a2658cc
commit: 854e9fa5a56a9771fad4701a427e4844d2cbade1 [5/6] xen/x86: Define stubs
for xen_smp_intr_init/xen_smp_intr_free
c
On 08/01/2016 07:40 AM, Juergen Gross wrote:
> There are two functions with name xen_pmu_init() in the kernel. Rename
> the one in drivers/xen/sys-hypervisor.c to avoid shadowing the one in
> arch/x86/xen/pmu.c
>
> Signed-off-by: Juergen Gross
While at it, how about changing xen_properties_init t
or than a normal state.
>
> Change the message to something less scary in case the hypervisor
> returns EOPNOTSUPP when trying to activate VPMU.
>
> Signed-off-by: Juergen Gross
Reviewed-by: Boris Ostrovsky
On 08/01/2016 11:44 AM, Juergen Gross wrote:
> On 01/08/16 16:10, Boris Ostrovsky wrote:
>> On 08/01/2016 07:40 AM, Juergen Gross wrote:
>>> There are two functions with name xen_pmu_init() in the kernel. Rename
>>> the one in drivers/xen/sys-hypervisor.c to avoid shadow
On 08/01/2016 11:48 AM, Juergen Gross wrote:
> On 01/08/16 16:11, Konrad Rzeszutek Wilk wrote:
>> On Mon, Aug 01, 2016 at 01:41:20PM +0200, Juergen Gross wrote:
>>> The default for the Xen hypervisor is to not enable VPMU in order to
>>> avoid security issues. In this case the Linux kernel will iss
From: Sebastian Andrzej Siewior
Install the callbacks via the state machine.
Signed-off-by: Sebastian Andrzej Siewior
Signed-off-by: Boris Ostrovsky
---
drivers/xen/events/events_fifo.c | 34 --
include/linux/cpuhotplug.h | 1 +
2 files changed, 13
Switch to new CPU hotplug infrastructure.
Signed-off-by: Boris Ostrovsky
Suggested-by: Sebastian Andrzej Siewior
---
Changes in v2:
* Replace xen_cpu_up_cancel with xen_cpu_dead
* Use existing CPUHP_AP_ONLINE_DYN instead of introducing new state
* Be more careful with return value of
Boris Ostrovsky (2):
xen/x86: Convert to hotplug state machine
xen/events: Convert to hotplug state machine
arch/x86/xen/enlighten.c | 115 ++-
drivers/xen/events/events_fifo.c | 34
include/linux/cpuhotplug.h | 2 +
3 files
On 09/02/2016 08:30 AM, Juergen Gross wrote:
> Support the driver_override scheme introduced with commit 782a985d7af2
> ("PCI: Introduce new device binding path using pci_dev.driver_override")
>
> As pcistub_probe() is called for all devices (it has to check for a
> match based on the slot address
On 09/14/2016 02:52 PM, Andy Lutomirski wrote:
> On Tue, Sep 13, 2016 at 11:13 PM, Kyle Huey wrote:
>> On Mon, Sep 12, 2016 at 9:56 AM, Andy Lutomirski wrote:
>>> You should explicitly check that, if the
>>> feature is set under Xen PV, then the MSR actually works as
>>> advertised. This may req
On 09/15/2016 03:11 PM, Kyle Huey wrote:
> On Thu, Sep 15, 2016 at 3:25 AM, Jan Beulich wrote:
> On 15.09.16 at 12:05, wrote:
>>> On 14/09/16 22:01, Kyle Huey wrote:
Xen advertises the underlying support for CPUID faulting but not does pass
through writes to the relevant MSR, nor do
On 08/31/2016 12:15 PM, Sebastian Andrzej Siewior wrote:
> On 2016-08-26 15:37:38 [-0400], Boris Ostrovsky wrote:
>>> If you do find the time, you might manage to rework the code to avoid
>>> using the _nocalls() function. If see this right, you use
>>> xen_setup_vcpu
On 07/27/2017 11:44 AM, Juergen Gross wrote:
> On 27/07/17 17:37, Boris Ostrovsky wrote:
>> On 07/27/2017 11:11 AM, Juergen Gross wrote:
>>> The macros for testing domain types are more complicated then they
>>> need to. Simplify them.
>>>
>>> Signed-of
On 08/02/2017 06:36 PM, Boris Ostrovsky wrote:
> On 08/02/2017 01:46 PM, Arvind Yadav wrote:
>> pci_device_id are not supposed to change at runtime. All functions
>> working with pci_device_id provided by work with
>> const pci_device_id. So mark the non-const structs as co
On 08/04/2017 07:36 AM, Juergen Gross wrote:
> Remove stuff no longer needed.
>
> Juergen Gross (3):
> xen: remove tests for pvh mode in pure pv paths
> xen: remove unused function xen_set_domain_pte()
> xen: remove not used trace functions
>
> arch/x86/include/asm/xen/page.h | 5 -
> a
ps.h| 1 -
> 12 files changed, 140 insertions(+), 78 deletions(-)
Reviewed-by: Boris Ostrovsky
Applied to for-linus-4.14.
-boris
On 07/21/2017 03:26 PM, Stefano Stabellini wrote:
> On Fri, 21 Jul 2017, Arnd Bergmann wrote:
>> __WARN() is an internal helper that is only available on
>> some architectures, but causes a build error e.g. on ARM64
>> in some configurations:
>>
>> drivers/xen/pvcalls-back.c: In function 'set_backe
On 08/16/2017 12:42 PM, Vitaly Kuznetsov wrote:
> Vitaly Kuznetsov writes:
>
>> Peter Zijlstra writes:
>>
>>> On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote:
On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra
wrote:
> I'm sure we talked about using HAVE_RCU_TABLE_FREE
On 08/17/2017 05:03 AM, Juergen Gross wrote:
> A kernel configured with XEN_PV but without KVM_GUEST will fail to
> build since the patch removing the adjust_exception_frame paravirt
> op.
>
> Fix this failure.
>
> Reported-by: Sander Eikelenboom
> Signed-off-by: Juergen Gross
> ---
> arch/x86/x
set).
>
> xen_evtchn_fifo_init() will always be called before SMP is initialized,
> so {get,put}_cpu() could be replaced by a simple smp_processor_id().
On x86 this will be called out of init_IRQ(), which is already preceded
by preempt_disable().
Reviewed-by: Boris Ostrovsky
On 06/15/2017 03:09 PM, Stefano Stabellini wrote:
> Allocate a socket. Keep track of socket <-> ring mappings with a new data
> structure, called sock_mapping. Implement the connect command by calling
> inet_stream_connect, and mapping the new indexes page and data ring.
> Allocate a workqueue and
>> +
>> static int pvcalls_back_connect(struct xenbus_device *dev,
>> struct xen_pvcalls_request *req)
>> {
>> +struct pvcalls_fedata *fedata;
>> +int ret = -EINVAL;
>> +struct socket *sock;
>> +struct sock_mapping *map;
>> +struct xen_pvcalls_res
On 06/15/2017 03:09 PM, Stefano Stabellini wrote:
> Just reply with success to the other end for now. Delay the allocation
> of the actual socket to bind and/or connect.
>
> Signed-off-by: Stefano Stabellini
> CC: boris.ostrov...@oracle.com
> CC: jgr...@suse.com
Reviewed-by: Boris Ostrovsky
On 06/15/2017 03:09 PM, Stefano Stabellini wrote:
> Call inet_listen to implement the listen command.
>
> Signed-off-by: Stefano Stabellini
> CC: boris.ostrov...@oracle.com
> CC: jgr...@suse.com
Reviewed-by: Boris Ostrovsky
> ---
> drivers/xen/pvcalls-back.c | 19
> static void __pvcalls_back_accept(struct work_struct *work)
> {
> + struct sockpass_mapping *mappass = container_of(
> + work, struct sockpass_mapping, register_work);
> + struct sock_mapping *map;
> + struct pvcalls_ioworker *iow;
> + struct pvcalls_fedata *fedata;
> @@ -499,6 +521,55 @@ static int pvcalls_back_accept(struct xenbus_device *dev,
> static int pvcalls_back_poll(struct xenbus_device *dev,
>struct xen_pvcalls_request *req)
> {
> + struct pvcalls_fedata *fedata;
> + struct sockpass_mapping *mappass;
> + st
> +
> +static int pvcalls_back_release_passive(struct xenbus_device *dev,
> + struct pvcalls_fedata *fedata,
> + struct sockpass_mapping *mappass)
> +{
> + if (mappass->sock->sk != NULL) {
> + write_lock_bh(&ma
there are none.
>
> Signed-off-by: Stefano Stabellini
> CC: boris.ostrov...@oracle.com
> CC: jgr...@suse.com
Reviewed-by: Boris Ostrovsky
>>> +
>>> + mappass->reqcopy = *req;
>>> + icsk = inet_csk(mappass->sock->sk);
>>> + queue = &icsk->icsk_accept_queue;
>>> + spin_lock(&queue->rskq_lock);
>>> + data = queue->rskq_accept_head != NULL;
>>> + spin_unlock(&queue->rskq_lock);
>> What is the purpose of the queue lock here?
On 06/15/2017 03:09 PM, Stefano Stabellini wrote:
> When an active socket has data available, increment the io and read
> counters, and schedule the ioworker.
>
> Implement the read function by reading from the socket, writing the data
> to the data ring.
>
> Set in_error on error.
>
> Signed-off-b
On 10/12/2017 03:53 PM, Boris Ostrovsky wrote:
> On 10/12/2017 03:27 PM, Andrew Cooper wrote:
>> On 12/10/17 20:11, Boris Ostrovsky wrote:
>>> There is also another problem:
>>>
>>> [1.312425] general protection fault: [#1] SMP
>>> [1.3129
driver, the network
>> will become unreachable immediately, the guest can no longer be pinged.
>>
>> xen_net{front|back} should not allow the user to set this value which causes
>> network problems.
>>
>> Reported-by: Chen Shi
>> Signed-off-by: Mohammed Gamal
On 10/17/2017 01:24 AM, Josh Poimboeuf wrote:
> On Mon, Oct 16, 2017 at 02:18:48PM -0400, Boris Ostrovsky wrote:
>> On 10/12/2017 03:53 PM, Boris Ostrovsky wrote:
>>> On 10/12/2017 03:27 PM, Andrew Cooper wrote:
>>>> On 12/10/17 20:11, Boris Ostrovsky wrote:
>&
On 10/17/2017 09:10 AM, Brian Gerst wrote:
> On Mon, Oct 16, 2017 at 2:18 PM, Boris Ostrovsky
> wrote:
>>
>> Replacing the macro with
>>
>> #define PV_INDIRECT(addr) *addr // well, it's not so much
>> indirect anymore
>>
>> makes thing
On 10/17/2017 10:36 AM, Josh Poimboeuf wrote:
>
> Maybe we can add a new field to the alternatives entry struct which
> specifies the offset to the CALL instruction, so apply_alternatives()
> can find it.
We'd also have to assume that the restore part of an alternative entry
is the same size as th
On 10/06/2017 08:30 PM, Stefano Stabellini wrote:
> Introduce a data structure named pvcalls_bedata. It contains pointers to
> the command ring, the event channel, a list of active sockets and a list
> of passive sockets. Lists accesses are protected by a spin_lock.
>
> Introduce a waitqueue to all
.
> This way, we can easily get the struct sock_mapping from the struct
> socket.
>
> Signed-off-by: Stefano Stabellini
Reviewed-by: Boris Ostrovsky
with one question:
> + /*
> + * PVCalls only supports domain AF_INET,
> + * type SOCK_STREAM and protoc
> + if (!pvcalls_front_dev) {
> + pvcalls_exit();
> + return -ENOTCONN;
The connect patch returns -ENETUNREACH here. Is there a deliberate
distinction between these cases?
Other than that
Reviewed-by: Boris Ostrovsky
On 10/06/2017 08:30 PM, Stefano Stabellini wrote:
> Introduce a waitqueue to allow only one outstanding accept command at
> any given time and to implement polling on the passive socket. Introduce
> a flags field to keep track of in-flight accept and poll commands.
>
> Send PVCALLS_ACCEPT to the b
On 10/17/2017 04:17 PM, Josh Poimboeuf wrote:
> On Tue, Oct 17, 2017 at 11:36:57AM -0400, Boris Ostrovsky wrote:
>> On 10/17/2017 10:36 AM, Josh Poimboeuf wrote:
>>> Maybe we can add a new field to the alternatives entry struct which
>>> specifies the offset
On 10/17/2017 04:50 PM, Josh Poimboeuf wrote:
> On Tue, Oct 17, 2017 at 04:36:00PM -0400, Boris Ostrovsky wrote:
>> On 10/17/2017 04:17 PM, Josh Poimboeuf wrote:
>>> On Tue, Oct 17, 2017 at 11:36:57AM -0400, Boris Ostrovsky wrote:
>>>> On 10/17/2017 10:36 AM, Josh P
> +static int __write_ring(struct pvcalls_data_intf *intf,
> + struct pvcalls_data *data,
> + struct iov_iter *msg_iter,
> + int len)
> +{
> + RING_IDX cons, prod, size, masked_prod, masked_cons;
> + RING_IDX array_size = XEN_FLEX
> +
> +int pvcalls_front_recvmsg(struct socket *sock, struct msghdr *msg, size_t
> len,
> + int flags)
> +{
> + struct pvcalls_bedata *bedata;
> + int ret;
> + struct sock_mapping *map;
> +
> + if (flags & (MSG_CMSG_CLOEXEC|MSG_ERRQUEUE|MSG_OOB|MSG_TRUNC))
> +
>
> +static unsigned int pvcalls_front_poll_passive(struct file *file,
> +struct pvcalls_bedata *bedata,
> +struct sock_mapping *map,
> +poll_table *wait)
> +{
> +
1 - 100 of 1678 matches
Mail list logo