Thread (32 messages) 32 messages, 3 authors, 2018-10-10

Re: [PATCH v8 10/15] octeontx2-af: Reconfig MSIX base with IOVA

flat view

From: Arnd Bergmann <arnd@arndb.de>
Date: 2018-10-09 19:16:58

On Tue, Oct 9, 2018 at 11:20 AM Sunil Kovvuri [off-list ref] wrote:
On Tue, Oct 9, 2018 at 1:27 PM Arnd Bergmann [off-list ref] wrote:
quoted
On Tue, Oct 9, 2018 at 9:03 AM Sunil Kovvuri [off-list ref] wrote:
quoted
On Mon, Oct 8, 2018 at 5:38 PM Arnd Bergmann [off-list ref] wrote:
quoted
On Sun, Oct 7, 2018 at 5:01 PM [off-list ref] wrote:
I think if you enable CONFIG_DEBUG_VIRTUAL, the virt_to_page()
above should trigger a warning in

phys_addr_t __virt_to_phys(unsigned long x)
{
        WARN(!__is_lm_address(x),
             "virt_to_phys used for non-linear address: %pK (%pS)\n",
              (void *)x,
              (void *)x);

        return __virt_to_phys_nodebug(x);
}

Can you verify that?

        Arnd
No, it isn't, as for 64bit systems CONFIG_SPARSEMEM_VMEMMAP is enabled.
But that is also user-selectable, right? It still seems to be really
fragile to rely on non-documented behavior of virt_to_phys()
here, if that only works for some configurations.
But is there any alternative to what is being done ?
I'm not completely sure, but there may be a way to do this correctly
using the iommu API instead of the dma-mapping API. What you do
here is fairly rare, but not unprecedented.

      Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help