On 26.04.2023 07:33, Henry Wang wrote:
>> -Original Message-
>> From: Jan Beulich
>>
>>> +/* Get opposite way distance */
>>> +opposite = __node_distance(to, from);
>>> +/* The default value in node_distance_map is NUMA_NO_DISTANCE
>> */
>>> +if ( opposite =
Hi Jan,
> -Original Message-
> From: Jan Beulich
> Subject: Re: [PATCH v4 09/17] xen/arm: introduce a helper to parse device
> tree NUMA distance map
>
> > +distance = dt_next_cell(1, &matrix);
>
> Upon second thought I checked what dt_next_cell() returns: You're silently
> trun
flight 180407 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180407/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 180397
test-amd64-amd64-xl-qemut-win7-a
On 25.04.23 21:46, Jason Andryuk wrote:
Printing the integer isn't particularly informative. Switch to a
human-readable string when printing the device_kind in
libxl__get_hotplug_script_info().
Signed-off-by: Jason Andryuk
Reviewed-by: Juergen Gross
Juergen
OpenPGP_0xB0DE9DD628BF132F.a
On 25.04.23 21:46, Jason Andryuk wrote:
Print the rc when an error is found in device_backend_callback() so the
user can have some idea of why things went wrong.
Signed-off-by: Jason Andryuk
Reviewed-by: Juergen Gross
Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public ke
Hi Jan,
> -Original Message-
> From: Jan Beulich
> Subject: Re: [PATCH v4 09/17] xen/arm: introduce a helper to parse device
> tree NUMA distance map
>
> > +unsigned int from, to, distance, opposite;
>
> With these ...
>
> > +from = dt_next_cell(1, &matrix);
> > +
On Wed, 26 Apr 2023, Marek Marczykowski-Górecki wrote:
> Add simple PCI passthrough test to both PV and HVM domU. It passes
> through a network adapter (the only one in the system), gets an IP via
> DHCP (first basic test) and then ping the gateway (second basic test).
> Finally, if device is suppo
flight 180406 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180406/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 180396
test-amd64-i386-xl-qemuu-win7-am
flight 180412 qemu-mainline real [real]
flight 180421 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180412/
http://logs.test-lab.xenproject.org/osstest/logs/180421/
Failures :-/ but no regressions.
Tests which are failing intermittently (not blocking):
test-am
On Wed, Apr 26, 2023 at 12:43 AM Stefan Hajnoczi wrote:
>
> On Fri, Apr 21, 2023 at 11:36:02AM +0800, Yongji Xie wrote:
> > Hi Stefan,
> >
> > On Thu, Apr 20, 2023 at 7:39 PM Stefan Hajnoczi wrote:
> > >
> > > vduse_blk_detach_ctx() waits for in-flight requests using
> > > AIO_WAIT_WHILE(). This
flight 180420 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180420/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass
test-arm64-arm64-xl-xsm 1
On Wed, 26 Apr 2023, Marek Marczykowski-Górecki wrote:
> The login prompt is printed after all the startup (test) scripts, wait
> for that instead of "passed" marker. And only then check if test passed.
> Before this patch there was a race: "passed" marker could be already
> printed, but the final
On Wed, 26 Apr 2023, Marek Marczykowski-Górecki wrote:
> Make it a bit easier to see what has failed.
>
> Signed-off-by: Marek Marczykowski-Górecki
I am not too happy about this, I would rather make smoke.serial easier
to access, but if you still want this I wont block it.
Acked-by: Stefano Sta
The login prompt is printed after all the startup (test) scripts, wait
for that instead of "passed" marker. And only then check if test passed.
Before this patch there was a race: "passed" marker could be already
printed, but the final check would fail because login prompt wasn't
there yet.
Also,
Make it a bit easier to see what has failed.
Signed-off-by: Marek Marczykowski-Górecki
---
Changes in v2:
- print it also in case of a timeout
---
automation/scripts/qubes-x86-64.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/automation/scripts/qubes-x86-64.sh
b/automation/scripts/q
Add simple PCI passthrough test to both PV and HVM domU. It passes
through a network adapter (the only one in the system), gets an IP via
DHCP (first basic test) and then ping the gateway (second basic test).
Finally, if device is supposed to use MSI or MSI-X (as set in the
PCIDEV_INTR test variabl
Avoid memory fragmentation that leads to:
(XEN) common/memory.c:277:d0v10 Could not allocate order=9 extent: id=1
memflags=0xc0 (0 of 4)
Signed-off-by: Marek Marczykowski-Górecki
Acked-by: Stefano Stabellini
---
automation/scripts/qubes-x86-64.sh | 2 +-
1 file changed, 1 insertion(+), 1 delet
It seems to build just fine with Alpine 3.12, and SeaBIOS is necessary
for a HVM test (that use the Alpine build).
Signed-off-by: Marek Marczykowski-Górecki
Reviewed-by: Stefano Stabellini
---
automation/scripts/build | 2 --
1 file changed, 2 deletions(-)
diff --git a/automation/scripts/build
This series adds passthrough tests using the ADL x86 hw gitlab runner. Some of
the patches are improves existing hw tests too.
Example passing run:
https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/848907124
Marek Marczykowski-Górecki (6):
automation: specify explicit dom0 mem size
This is necessary to start HVM guests in subsequent tests.
Signed-off-by: Marek Marczykowski-Górecki
Reviewed-by: Stefano Stabellini
---
automation/tests-artifacts/alpine/3.12.dockerfile | 1 +
1 file changed, 1 insertion(+)
diff --git a/automation/tests-artifacts/alpine/3.12.dockerfile
b/aut
flight 180400 linux-linus real [real]
flight 180415 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180400/
http://logs.test-lab.xenproject.org/osstest/logs/180415/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run
On Thu, Apr 20 2023 at 17:57, Thomas Gleixner wrote:
> On Thu, Apr 20 2023 at 07:51, Sean Christopherson wrote:
> Something like the completely untested below should just work whatever
> APIC ID the BIOS decided to dice.
>
> That might just work on SEV too without that GHCB muck, but what do I
> kn
flight 180403 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180403/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 180353
test-armhf-armhf-libvirt-qcow2 15 saveres
On Mon, Apr 17 2023 at 16:50, Mark Rutland wrote:
> On Sat, Apr 15, 2023 at 01:44:49AM +0200, Thomas Gleixner wrote:
> I gave this a spin on arm64 (in a 64-vCPU VM on an M1 host), and it seems to
> work fine with a bunch of vCPUs being hotplugged off and on again randomly.
>
> FWIW:
>
> Tested-by:
Print the rc when an error is found in device_backend_callback() so the
user can have some idea of why things went wrong.
Signed-off-by: Jason Andryuk
---
tools/libs/light/libxl_device.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/libs/light/libxl_device.c b/to
Printing the integer isn't particularly informative. Switch to a
human-readable string when printing the device_kind in
libxl__get_hotplug_script_info().
Signed-off-by: Jason Andryuk
---
tools/libs/light/libxl_linux.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools
On a fedora system, if you run `sudo sh install.sh` you break your
system. The installation clobbers /var/run, a symlink to /run. A
subsequent boot fails when /var/run and /run are different since
accesses through /var/run can't find items that now only exist in /run
and vice-versa.
Skip populat
This is interesting. Are you using Xilinx hardware by any chance? If so,
which board?
Are you using ImageBuilder to generate your boot.scr boot script? If so,
could you please post your ImageBuilder config file? If not, can you
post the source of your uboot boot script?
SErrors are supposed to be
Hi Juergen,
On 05/04/2023 08:03, Juergen Gross wrote:
Instead of modifying accounting data and undo those modifications in
case of an error during further processing, add a framework for
collecting the needed changes and commit them only when the whole
operation has succeeded.
This scheme can r
flight 180401 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180401/
Failures :-/ but no regressions.
Tests which are failing intermittently (not blocking):
test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in
180391 pass in 180401
test-amd64-amd
This patch makes the TPM version, for which the ACPI libary probes,
configurable.
If acpi_config.tpm_verison is set to 1, it indicates that 1.2 (TCPA) should be
probed.
I have also added to hvmloader an option to allow setting this new config,
which can
be triggered by setting the platform/tpm_v
This patch makes the TPM version, for which the ACPI library probes,
configurable.
Find following version 3 of this patche series. Appoliges for it
taking so long, and my previous version missing some changes I intended to
share.
Have renamed the TPM_CRB constants to better match the TPM
specific
This patch introduces an optional TPM 2 interface definition to the ACPI table,
which is to be used as part of a vTPM 2 implementation.
Signed-off-by: Jennifer Herbert
---
docs/misc/xenstore-paths.pandoc | 3 ++-
tools/firmware/hvmloader/util.c | 9
tools/libacpi/Makefile |
Hi Juergen,
On 05/04/2023 08:03, Juergen Gross wrote:
Introduce the scheme of an accounting data array for per-domain
accounting data and use it initially for the number of nodes owned by
a domain.
Make the accounting data type to be unsigned int, as no data is allowed
to be negative at any tim
Host notifiers can now use is_external=false since virtio-blk and
virtio-scsi no longer rely on is_external=true for drained sections.
Signed-off-by: Stefan Hajnoczi
---
hw/virtio/virtio.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/vi
virtio_queue_aio_detach_host_notifier() does two things:
1. It removes the fd handler from the event loop.
2. It processes the virtqueue one last time.
The first step can be peformed by any thread and without taking the
AioContext lock.
The second step may need the AioContext lock (depending on t
All callers now pass is_external=false to aio_set_fd_handler() and
aio_set_event_notifier(). The aio_disable_external() API that
temporarily disables fd handlers that were registered is_external=true
is therefore dead code.
Remove aio_disable_external(), aio_enable_external(), and the
is_external
The FUSE export calls blk_exp_ref/unref() without the AioContext lock.
Instead of fixing the FUSE export, adjust blk_exp_ref/unref() so they
work without the AioContext lock. This way it's less error-prone.
Suggested-by: Paolo Bonzini
Signed-off-by: Stefan Hajnoczi
---
include/block/export.h
Detach ioeventfds during drained sections to stop I/O submission from
the guest. virtio-blk is no longer reliant on aio_disable_external()
after this patch. This will allow us to remove the
aio_disable_external() API once all other code that relies on it is
converted.
Take extra care to avoid atta
The virtio-scsi Host Bus Adapter provides access to devices on a SCSI
bus. Those SCSI devices typically have a BlockBackend. When the
BlockBackend enters a drained section, the SCSI device must temporarily
stop submitting new I/O requests.
Implement this behavior by temporarily stopping virtio-scs
vduse_blk_detach_ctx() waits for in-flight requests using
AIO_WAIT_WHILE(). This is not allowed according to a comment in
bdrv_set_aio_context_commit():
/*
* Take the old AioContex when detaching it from bs.
* At this point, new_context lock is already acquired, and we are now
* also ta
This is part of ongoing work to remove the aio_disable_external() API.
Use BlockDevOps .drained_begin/end/poll() instead of
aio_set_fd_handler(is_external=true).
As a side-effect the FUSE export now follows AioContext changes like the
other export types.
Signed-off-by: Stefan Hajnoczi
---
bloc
Detach event channels during drained sections to stop I/O submission
from the ring. xen-block is no longer reliant on aio_disable_external()
after this patch. This will allow us to remove the
aio_disable_external() API once all other code that relies on it is
converted.
Extend xen_device_set_event
For simplicity, always run BlockDevOps .drained_begin/end/poll()
callbacks in the main loop thread. This makes it easier to implement the
callbacks and avoids extra locks.
Move the function pointer declarations from the I/O Code section to the
Global State section in block-backend-common.h.
Signe
is_external=true suspends fd handlers between aio_disable_external() and
aio_enable_external(). The block layer's drain operation uses this
mechanism to prevent new I/O from sneaking in between
bdrv_drained_begin() and bdrv_drained_end().
The previous commit converted the xen-block device to use B
The BlockBackend quiesce_counter is greater than zero during drained
sections. Add an API to check whether the BlockBackend is in a drained
section.
The next patch will use this API.
Signed-off-by: Stefan Hajnoczi
---
include/sysemu/block-backend-global-state.h | 1 +
block/block-backend.c
There is no need to suspend activity between aio_disable_external() and
aio_enable_external(), which is mainly used for the block layer's drain
operation.
This is part of ongoing work to remove the aio_disable_external() API.
Reviewed-by: David Woodhouse
Reviewed-by: Paul Durrant
Signed-off-by:
Each vhost-user-blk request runs in a coroutine. When the BlockBackend
enters a drained section we need to enter a quiescent state. Currently
any in-flight requests race with bdrv_drained_begin() because it is
unaware of vhost-user-blk requests.
When blk_co_preadv/pwritev()/etc returns it wakes th
vhost-user activity must be suspended during bdrv_drained_begin/end().
This prevents new requests from interfering with whatever is happening
in the drained section.
Previously this was done using aio_set_fd_handler()'s is_external
argument. In a multi-queue block layer world the aio_disable_exter
Only report a transport reset event to the guest after the SCSIDevice
has been unrealized by qdev_simple_device_unplug_cb().
qdev_simple_device_unplug_cb() sets the SCSIDevice's qdev.realized field
to false so that scsi_device_find/get() no longer see it.
scsi_target_emulate_report_luns() also ne
blk_set_aio_context() is not fully transactional because
blk_do_set_aio_context() updates blk->ctx outside the transaction. Most
of the time this goes unnoticed but a BlockDevOps.drained_end() callback
that invokes blk_get_aio_context() fails assert(ctx == blk->ctx). This
happens because blk->ctx i
The VuServer object has a refcount field and ref/unref APIs. The name is
confusing because it's actually an in-flight request counter instead of
a refcount.
Normally a refcount destroys the object upon reaching zero. The VuServer
counter is used to wake up the vhost-user coroutine when there are n
This patch is part of an effort to remove the aio_disable_external()
API because it does not fit in a multi-queue block layer world where
many AioContexts may be submitting requests to the same disk.
The SCSI emulation code is already in good shape to stop using
aio_disable_external(). It was only
v4:
- Remove external_disable_cnt variable [Philippe]
- Add Patch 1 to fix assertion failure in .drained_end() ->
blk_get_aio_context()
v3:
- Resend full patch series. v2 was sent in the middle of a git rebase and was
missing patches. [Eric]
- Apply Reviewed-by tags.
v2:
- Do not rely on BlockBa
Add a helper function to check whether the device is realized without
requiring the Big QEMU Lock. The next patch adds a second caller. The
goal is to avoid spreading DeviceState field accesses throughout the
code.
Suggested-by: Philippe Mathieu-Daudé
Reviewed-by: Philippe Mathieu-Daudé
Signed-o
Hi Ayan,
On 25/04/2023 17:16, Ayan Kumar Halder wrote:
>
> On 24/04/2023 13:08, Michal Orzel wrote:
>> Hi Ayan,
>
> Hi Michal,
>
> A clarification.
>
>>
>> On 13/04/2023 19:37, Ayan Kumar Halder wrote:
>>>
>>> Some Arm based hardware platforms which does not support LPAE
>>> (eg Cortex-R52), u
On Fri, Apr 21, 2023 at 11:36:02AM +0800, Yongji Xie wrote:
> Hi Stefan,
>
> On Thu, Apr 20, 2023 at 7:39 PM Stefan Hajnoczi wrote:
> >
> > vduse_blk_detach_ctx() waits for in-flight requests using
> > AIO_WAIT_WHILE(). This is not allowed according to a comment in
> > bdrv_set_aio_context_commit
On Mon, Apr 24, 2023 at 08:01:46PM -0700, Stefano Stabellini wrote:
> On Mon, 24 Apr 2023, Marek Marczykowski-Górecki wrote:
> > Add simple PCI passthrough test to both PV and HVM domU. It passes
> > through a network adapter (the only one in the system), gets an IP via
> > DHCP (first basic test)
On Thu, Apr 20, 2023 at 03:44:06PM +0200, Philippe Mathieu-Daudé wrote:
> On 20/4/23 13:37, Stefan Hajnoczi wrote:
> > All callers now pass is_external=false to aio_set_fd_handler() and
> > aio_set_event_notifier(). The aio_disable_external() API that
> > temporarily disables fd handlers that were
On Thu, Apr 20, 2023 at 03:39:59PM +0200, Philippe Mathieu-Daudé wrote:
> Hi Stefan,
>
> On 20/4/23 13:37, Stefan Hajnoczi wrote:
> > v3:
> > - Resend full patch series. v2 was sent in the middle of a git rebase and
> > was
> >missing patches. [Eric]
> > - Apply Reviewed-by tags.
>
> > Based
flight 180411 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180411/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass
test-arm64-arm64-xl-xsm 1
On 24/04/2023 09:26, Julien Grall wrote:
Hi,
Hi Julien,
On 13/04/2023 18:37, Ayan Kumar Halder wrote:
handle_pci_range() and map_range_to_domain() take addr and len as
uint64_t
parameters. Then frame numbers are obtained from addr and len by
right shifting
with PAGE_SHIFT. The page frame
flight 180398 qemu-mainline real [real]
flight 180410 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180398/
http://logs.test-lab.xenproject.org/osstest/logs/180410/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be
On 24/04/2023 13:08, Michal Orzel wrote:
Hi Ayan,
Hi Michal,
A clarification.
On 13/04/2023 19:37, Ayan Kumar Halder wrote:
Some Arm based hardware platforms which does not support LPAE
(eg Cortex-R52), uses 32 bit physical addresses.
Also, users may choose to use 32 bits to represent p
flight 180409 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180409/
Perfect :-)
All tests in this flight passed as required
version targeted for testing:
ovmf 18f463edbaa911b6e2c32a3e783bf6c2c9997512
baseline version:
ovmf 6127bf1f30a97e8135905
pci_serial_early_init() enables PCI_COMMAND_IO for IO-based UART
devices, add setting PCI_COMMAND_MEMORY for MMIO-based UART devices too.
Note the MMIO-based devices in practice need a "pci" sub-option,
otherwise a few parameters are not initialized (including bar_idx,
reg_shift, reg_width etc). Th
Hi, Marek,
On Mon, Apr 24, 2023 at 4:57 PM Marek Marczykowski-Górecki
wrote:
> +elif [ "$PCIDEV_INTR" = "MSI" ]; then
> +# depending on the kernel version and domain type, the MSI can be
> +# marked as '-msi', 'PCI-MSI', or 'PCI-MSI-'; be careful to
> not match
> +# -
flight 180408 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180408/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass
test-arm64-arm64-xl-xsm 1
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
Xen Security Advisory CVE-2022-42335 / XSA-430
version 2
x86 shadow paging arbitrary pointer dereference
UPDATES IN VERSION 2
Public release.
ISSUE DESCRIPTION
=
Hi Jan,
> -Original Message-
> From: Jan Beulich
> Subject: Re: [PATCH v4 03/17] xen/arm: implement node distance helpers for
> Arm
>
> On 25.04.2023 11:31, Henry Wang wrote:
> >> -Original Message-
> >> From: Jan Beulich
> >>
> >> On 25.04.2023 09:56, Henry Wang wrote:
> >>> +
On 25.04.2023 11:31, Henry Wang wrote:
>> -Original Message-
>> From: Jan Beulich
>>
>> On 25.04.2023 09:56, Henry Wang wrote:
>>> +/* NUMA defines NUMA_NO_DISTANCE as unreachable and 0-9 are
>> undefined */
>>> +if ( distance >= NUMA_NO_DISTANCE || distance <=
>> NUMA_DISTANCE_UDF
On 25.04.2023 11:22, Marek Marczykowski-Górecki wrote:
> On Tue, Apr 25, 2023 at 10:05:25AM +0200, Jan Beulich wrote:
>> On 25.04.2023 01:39, Marek Marczykowski-Górecki wrote:
>>> pci_serial_early_init() enables PCI_COMMAND_IO for IO-based UART
>>> devices, do similar with PCI_COMMAND_MEMORY for MM
Hi Jan,
> -Original Message-
> From: Jan Beulich
> Subject: Re: [PATCH v4 03/17] xen/arm: implement node distance helpers for
> Arm
>
> On 25.04.2023 09:56, Henry Wang wrote:
> > --- a/xen/arch/arm/numa.c
> > +++ b/xen/arch/arm/numa.c
> > @@ -28,6 +28,12 @@ enum dt_numa_status {
> >
> >
On Tue, Apr 25, 2023 at 10:05:25AM +0200, Jan Beulich wrote:
> On 25.04.2023 01:39, Marek Marczykowski-Górecki wrote:
> > pci_serial_early_init() enables PCI_COMMAND_IO for IO-based UART
> > devices, do similar with PCI_COMMAND_MEMORY for MMIO-based UART devices.
>
> While I agree that something l
On Tue, Apr 25, 2023 at 10:05:25AM +0200, Jan Beulich wrote:
> On 25.04.2023 01:39, Marek Marczykowski-Górecki wrote:
> > pci_serial_early_init() enables PCI_COMMAND_IO for IO-based UART
> > devices, do similar with PCI_COMMAND_MEMORY for MMIO-based UART devices.
>
> While I agree that something l
On 25/04/2023 10:47, Jan Beulich wrote:
>
>
> On 25.04.2023 10:39, Michal Orzel wrote:
>> Hi Jan,
>>
>> On 25/04/2023 10:20, Jan Beulich wrote:
>>>
>>>
>>> On 25.04.2023 09:56, Henry Wang wrote:
From: Wei Chen
Processor NUMA ID information is stored in device tree's processor
>
flight 180405 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180405/
Perfect :-)
All tests in this flight passed as required
version targeted for testing:
ovmf 6127bf1f30a97e8135905d921d7745eb13554815
baseline version:
ovmf 2c2cb235289642775a7c4
On 25.04.2023 10:39, Michal Orzel wrote:
> Hi Jan,
>
> On 25/04/2023 10:20, Jan Beulich wrote:
>>
>>
>> On 25.04.2023 09:56, Henry Wang wrote:
>>> From: Wei Chen
>>>
>>> Processor NUMA ID information is stored in device tree's processor
>>> node as "numa-node-id". We need a new helper to parse th
Hi Jan,
On 25/04/2023 10:20, Jan Beulich wrote:
>
>
> On 25.04.2023 09:56, Henry Wang wrote:
>> From: Wei Chen
>>
>> Processor NUMA ID information is stored in device tree's processor
>> node as "numa-node-id". We need a new helper to parse this ID from
>> processor node. If we get this ID from
On 25.04.2023 09:56, Henry Wang wrote:
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -151,3 +151,111 @@ invalid_data:
> numa_fw_bad();
> return -EINVAL;
> }
> +
> +/* Parse NUMA distance map v1 */
> +static int __init fdt_parse_numa_distance_map_v1(
On 25.04.2023 09:56, Henry Wang wrote:
> --- a/xen/arch/arm/numa.c
> +++ b/xen/arch/arm/numa.c
> @@ -28,6 +28,12 @@ enum dt_numa_status {
>
> static enum dt_numa_status __ro_after_init device_tree_numa =
> DT_NUMA_DEFAULT;
>
> +static unsigned char __ro_after_init
> +node_distance_map[MAX_NUM
On 25.04.2023 09:56, Henry Wang wrote:
> From: Wei Chen
>
> A NUMA aware device tree will provide a "distance-map" node to
> describe distance between any two nodes. This patch introduce a
> new helper to parse this distance map.
>
> Signed-off-by: Wei Chen
> Signed-off-by: Henry Wang
While t
Hi Jan,
> -Original Message-
> From: Jan Beulich
> Subject: Re: [PATCH v4 07/17] xen/arm: introduce a helper to parse device
> tree processor node
>
> > xen/arch/arm/numa_device_tree.c | 64
> +
> > 4 files changed, 74 insertions(+), 7 deletions(-)
> > c
On 25.04.2023 09:56, Henry Wang wrote:
> From: Wei Chen
>
> Processor NUMA ID information is stored in device tree's processor
> node as "numa-node-id". We need a new helper to parse this ID from
> processor node. If we get this ID from processor node, this ID's
> validity still need to be checke
flight 180397 xen-4.16-testing real [real]
flight 180404 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180397/
http://logs.test-lab.xenproject.org/osstest/logs/180404/
Failures :-/ but no regressions.
Tests which are failing intermittently (not blocking):
t
On 25.04.2023 01:39, Marek Marczykowski-Górecki wrote:
> pci_serial_early_init() enables PCI_COMMAND_IO for IO-based UART
> devices, do similar with PCI_COMMAND_MEMORY for MMIO-based UART devices.
While I agree that something like this is needed (and in fact I have been
wondering more than once wh
From: Wei Chen
In this patch, we can start to create NUMA system that is
based on device tree.
Signed-off-by: Wei Chen
Signed-off-by: Henry Wang
---
v3 -> v4:
1. No change.
v2 -> v3:
1. No change.
v1 -> v2:
1. replace ~0 by INVALID_PADDR.
2. only print error messages for invalid dtb data.
3. r
From: Wei Chen
In this function, we scan the whole device tree to parse CPU node id,
memory node id and distance-map. Though early_scan_node will invoke
a handler to process memory nodes. If we want to parse memory node id
in that handler, we have to embed NUMA parse code in that handler.
But we
From: Wei Chen
Arm platforms support both ACPI and device tree. We don't
want users to select device tree NUMA or ACPI NUMA manually.
We hope users can just enable NUMA for Arm, and device tree
NUMA and ACPI NUMA can be selected depends on device tree
feature and ACPI feature status automatically
In the common sysctl command XEN_SYSCTL_physinfo, the cores_per_socket
is calculated based on the cpu_core_mask of CPU0. Currently on Arm
this is a fixed value 1 (can be checked via xl info), which is not
correct. This is because during the Arm cpu online process,
set_cpu_sibling_map() only sets th
From: Wei Chen
A NUMA aware device tree will provide a "distance-map" node to
describe distance between any two nodes. This patch introduce a
new helper to parse this distance map.
Signed-off-by: Wei Chen
Signed-off-by: Henry Wang
---
v3 -> v4:
1. The distance map default value is now NUMA_NO_
From: Wei Chen
node_online_map in smpboot is still needed for Arm when NUMA is
turned off by Kconfig.
Signed-off-by: Wei Chen
Signed-off-by: Henry Wang
---
v3 -> v4:
1. No change.
v2 -> v3:
1. No change.
v1 -> v2:
1. No change.
---
xen/arch/arm/smpboot.c | 2 ++
1 file changed, 2 insertions(+
From: Wei Chen
Device tree based NUMA doesn't have the proximity domain like
ACPI. So we can return node id directly as arch nid.
Signed-off-by: Wei Chen
Signed-off-by: Henry Wang
---
v3 -> v4:
1. No change.
v2 -> v3:
1. No change.
v1 -> v2:
1. Use numa_node_to_arch_nid instead of dummy node_t
From: Wei Chen
The NUMA information provided in the host Device-Tree
are only for Xen. For dom0, we want to hide them as they
may be different (for now, dom0 is still not aware of NUMA)
The CPU and memory nodes are recreated from scratch for the
domain. So we already skip the "numa-node-id" prope
From: Wei Chen
Current numa command in documentation is x86 only. Remove
x86 from numa command's arch limitation in this patch.
Signed-off-by: Wei Chen
Signed-off-by: Henry Wang
Acked-by: Jan Beulich
---
v3 -> v4:
1. No change.
v2 -> v3:
1. Add the Acked-by tag from Jan.
v1 -> v2:
1. Update A
From: Wei Chen
We will parse NUMA nodes distances from device tree. So we need
a matrix to record the distances between any two nodes we parsed.
Accordingly, we provide this node_set_distance API for device tree
NUMA to set the distance for any two nodes in this patch. When
NUMA initialization fa
From: Wei Chen
Memory blocks' NUMA ID information is stored in device tree's
memory nodes as "numa-node-id". We need a new helper to parse
and verify this ID from memory nodes.
Signed-off-by: Wei Chen
Signed-off-by: Henry Wang
---
v3 -> v4:
1. No change.
v2 -> v3:
1. No change.
v1 -> v2:
1. Mo
From: Wei Chen
Implement the same helper "arch_get_ram_range" as x86 for NUMA
code to get memory bank from Arm bootinfo.
Signed-off-by: Wei Chen
Signed-off-by: Henry Wang
---
v3 -> v4:
1. No change.
v2 -> v3:
1. No change.
v1 -> v2:
1. Use arch_get_ram_range instead of arch_get_memory_map.
---
From: Wei Chen
Processor NUMA ID information is stored in device tree's processor
node as "numa-node-id". We need a new helper to parse this ID from
processor node. If we get this ID from processor node, this ID's
validity still need to be checked. Once we got a invalid NUMA ID
from any processor
From: Wei Chen
In this patch, we make NUMA node online and add cpu to
its NUMA node. This will make NUMA-aware components
have NUMA affinity data to support their work.
To keep the mostly the same behavior of x86, we use
numa_detect_cpu_node to online node. The difference is that,
we have prepar
1 - 100 of 107 matches
Mail list logo