Understood.
Thank you!
вт, 12 окт. 2021 г. в 17:20, Julien Grall :
>
>
>
> On 12/10/2021 15:11, Roman Skakun wrote:
> > Hi,
>
> Hi Roman,
>
> > Would you be so kind to look at my patches, it would help me to
> > know exactly whether I'm moving correctly and
Hi,
Would you be so kind to look at my patches, it would help me to
know exactly whether I'm moving correctly and whether I've chosen
the right path?
Thanks!
Best regards,
Roman
пн, 4 окт. 2021 г. в 12:54, Roman Skakun :
>
> From: Roman Skakun
>
> At the moment, Dom0 can't disti
Hi Oleksandr,
>> From: Roman Skakun
>>
>> Xen is not exposing any IOMMU properties to Dom0.
>> So Dom0 assumes that all it's devices are not protected by IOMMU.
>>
>> To make Dom0 aware of IOMMU-protected devices, we need to mark
>> them somehow. With th
IOMMU-protected device.
Signed-off-by: Roman Skakun
---
arch/arm/mm/dma-mapping.c | 2 +-
arch/arm/xen/enlighten.c| 4
arch/arm64/mm/dma-mapping.c | 2 +-
include/xen/xen.h | 2 ++
4 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm
From: Roman Skakun
Xen is not exposing any IOMMU properties to Dom0.
So Dom0 assumes that all it's devices are not protected by IOMMU.
To make Dom0 aware of IOMMU-protected devices, we need to mark
them somehow. With this approach Dom0 Linux kernel will be able
to selectively disable swiotlb
From: Roman Skakun
At the moment, Dom0 can't distinguish which devices are protected by
IOMMU and which are not. In some cases, this can cause swiotlb bounce
buffer use for DMA addresses above 32 bits, which in turn can lead
to poor performance. I started a conversation at [1], where we
large
buffer which is greater than 256 KB (128(CURRENT_IO_TLB_SEGMENT *
2048) and need to
adjust this parameter during boot time, not compilation time.
In order to this point, this patch was created.
Thanks,
Roman
пт, 17 сент. 2021 г. в 12:44, Robin Murphy :
>
> On 2021-09-17 10:36, Roman Skak
acement, nor would a test build (with both patches in
> place).
It's reasonable.
I will change the original IO_TLB_SEGSIZE to IO_TLB_DEFAULT_SEGSIZE in the
next patch series.
Thanks.
ср, 15 сент. 2021 г. в 16:50, Jan Beulich :
>
> On 15.09.2021 15:37, Roman Skakun wrote:
Hi, Christoph
I use Xen PV display. In my case, PV display backend(Dom0) allocates
contiguous buffer via DMA-API to
to implement zero-copy between Dom0 and DomU.
When I start Weston under DomU, I got the next log in Dom0:
```
[ 112.554471] CPU: 0 PID: 367 Comm: weston Tainted: G O
Hi Stefano,
> Also, Option 1 listed in the webpage seems to be a lot better. Any
> reason you can't do that? Because that option both solves the problem
> and increases performance.
Yes, Option 1 is probably more efficient.
But I use another platform under Xen without DMA adjustment
Hi Jan,
Thanks for the answer.
>> From: Roman Skakun
>>
>> It is possible when default IO TLB size is not
>> enough to fit a long buffers as described here [1].
>>
>> This patch makes a way to set this parameter
>> using cmdline instead of recompiling
From: Roman Skakun
It is possible when default IO TLB size is not
enough to fit a long buffers as described here [1].
This patch makes a way to set this parameter
using cmdline instead of recompiling a kernel.
[1] https://www.xilinx.com/support/answers/72694.html
Signed-off-by: Roman Skakun
?
Cheers,
Roman
From: Julien Grall
Sent: Wednesday, September 1, 2021 1:22 PM
To: Roman Skakun ; Stefano Stabellini
Cc: xen-devel@lists.xenproject.org ; Bertrand
Marquis ; Andrii Anisov ;
Roman Skakun ; Oleksandr Tyshchenko
Subject: Re: Disable IOMMU in Dom0
Hi
i
Sent: Wednesday, September 1, 2021 12:50 AM
To: Roman Skakun
Cc: Stefano Stabellini ; Julien Grall ;
xen-devel@lists.xenproject.org ; Bertrand
Marquis ; Andrii Anisov ;
Roman Skakun
Subject: Re: Disable IOMMU in Dom0
On Tue, 31 Aug 2021, Roman Skakun wrote:
> Hi, Stefano!
>
> I
Hi, Stefano!
I have seen your negotiation of disabling xen-swiotlb for devices which are
controlled by IOMMU in Dom0:
https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad-T480s/
As I was thinking to create a common implementation because I
und the article https://www.xilinx.com/support/answers/72694.html,
where I believe the same issue was mentioned.
Thank you so much for your time and help!
From: Julien Grall
Sent: Friday, August 13, 2021 1:51 PM
To: Roman Skakun ; sstabell...@kernel.org
Cc:
708 nslots. Continue...
[ 260.053533] swiotlb_tbl_map_single() io_tlb_list[31870]=2 slots <
708 nslots. Continue...
[ 260.062606] swiotlb_tbl_map_single() io_tlb_list[31872]=80 slots <
708 nslots. Continue...
Swiotlb did not fit requested slots because the maximum slot size equals
IO
hy we got a normal dom0 DMA address (b600) and
why 64b1d when using swiotlb.
From: Julien Grall
Sent: Wednesday, August 11, 2021 1:30 PM
To: Roman Skakun ; sstabell...@kernel.org
Cc: Bertrand Marquis ; Andrii Anisov
; Volodymyr Babchuk ;
Oleksandr Ty
Therefore, I think we should first find out why Linux wants to bounce
> the DMA buffer.
We retrieved dev_addr(64b1d) + size > 32bit mask, but fcp driver wants to
use only 32 bit boundary address, but that's consequence.
I think, the main reason of using bounce buffer is MFN address, not DM
Hi, Stefano!
I have observed your patch here:
https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad-T480s/
And I collided with the same issue, when Dom0 device trying to use
swiotlb fops for devices which are controlled by IOMMU.
> Fine with. I've queued up the modified patch.
Good. Thanks!
>
> On Sat, Jul 17, 2021 at 11:39:21AM +0300, Roman Skakun wrote:
> > > We can merge this patch and create a new one for
> > > xen_swiotlb_free_coherent() later.
> > > Yeah, no
. в 18:29, Stefano Stabellini :
>
> On Fri, 16 Jul 2021, Roman Skakun wrote:
> > > Technically this looks good. But given that exposing a helper
> > > that does either vmalloc_to_page or virt_to_page is one of the
> > > never ending MM discussions I don't want to ge
e applying this version?
>
> ---
> From 40ac971eab89330d6153e7721e88acd2d98833f9 Mon Sep 17 00:00:00 2001
> From: Roman Skakun
> Date: Fri, 16 Jul 2021 11:39:34 +0300
> Subject: dma-mapping: handle vmalloc addresses in
> dma_common_{mmap,get_sgtable}
>
> xen-swiotlb can us
From: Roman Skakun
This commit is dedicated to fix incorrect conversion from
cpu_addr to page address in cases when we get virtual
address which allocated in the vmalloc range.
As the result, virt_to_page() cannot convert this address
properly and return incorrect page address.
Need to detect
> This looks like it wasn't picked up? Should it go in rc1?
Hi, Konrad!
This looks like an unambiguous bug, and should be in rc1.
Cheers!
ср, 14 июл. 2021 г. в 03:15, Konrad Rzeszutek Wilk :
>
> On Tue, Jun 22, 2021 at 04:34:14PM +0300, Roman Skakun wrote:
> > This commit is d
ode
block in xen_swiotlb_free_coherent() need to make cpu_addr_to_page() as
global and add a new declaration for this helper in include/linux/dma-map-ops.h.
What do you think?
Cheers!
ср, 14 июл. 2021 г. в 04:23, Stefano Stabellini :
>
> On Tue, 22 Jun 2021, Roman Skakun wrote:
> > This commit is dedic
the page address using
vmalloc_to_page() instead.
Signed-off-by: Roman Skakun
Reviewed-by: Andrii Anisov
---
Hey!
Thanks for suggestions, Christoph!
I updated the patch according to your advice.
But, I'm so surprised because nobody catches this problem
in the common code before. It looks a bit
> We make sure that we allocate contiguous memory in
> xen_swiotlb_alloc_coherent().
I understood.
Thanks!
--
Best Regards, Roman.
there was added a new
dma_cpu_addr_to_page() helper.
Signed-off-by: Roman Skakun
Reviewed-by: Andrii Anisov
---
drivers/xen/swiotlb-xen.c | 42 +++
1 file changed, 34 insertions(+), 8 deletions(-)
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index
This reverts commit 922659ea771b3fd728149262c5ea15608fab9719.
Signed-off-by: Roman Skakun
---
drivers/xen/swiotlb-xen.c | 29 +++--
1 file changed, 27 insertions(+), 2 deletions(-)
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 2b385c1b4a99
, 11 июн. 2021 г. в 18:20, Boris Ostrovsky :
>
>
> On 6/11/21 5:55 AM, Roman Skakun wrote:
> >
> > +static int
> > +xen_swiotlb_dma_mmap(struct device *dev, struct vm_area_struct *vma,
> > + void *cpu_addr, dma_addr_t dma_addr, size_t size,
>
incorrect page address.
Need to detect such cases and obtains the page address using
vmalloc_to_page() instead.
The reference code was copied from kernel/dma/ops_helpers.c
and modified to provide additional detections as described
above.
Signed-off-by: Roman Skakun
Reviewed-by: Andrii Anisov
This patch added additional sanity and increases an understanding for
getting proper value from the first argument for SMC call on aarch64
according to SMCC Convention.
[0] ARM DEN0028B, page 12
Signed-off-by: Roman Skakun
---
xen/arch/arm/tee/optee.c | 3 ++-
1 file changed, 2 insertions
33 matches
Mail list logo