ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] | https://libera.irclog.whitequark.org/armlinux
apritzel_ has quit [Ping timeout: 272 seconds]
heat has quit [Remote host closed the connection]
heat has joined #armlinux
punit has quit [Ping timeout: 245 seconds]
jclsn has quit [Ping timeout: 264 seconds]
jclsn has joined #armlinux
amitk has joined #armlinux
heat has quit [Ping timeout: 246 seconds]
sakman_ has quit [Quit: Leaving]
sakman_ has joined #armlinux
jn_ has joined #armlinux
jn_ has joined #armlinux
jn_ has quit [Changing host]
jn has quit [Ping timeout: 272 seconds]
hanetzer has quit [Ping timeout: 264 seconds]
hanetzer has joined #armlinux
cbeznea has joined #armlinux
monstr has joined #armlinux
alpernebbi has quit []
headless has joined #armlinux
rgallaispou has joined #armlinux
psydroid2 has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
psydroid has joined #armlinux
mvaittin has quit [Remote host closed the connection]
mvaittin has joined #armlinux
psydroid2 has joined #armlinux
alpernebbi has joined #armlinux
prabhakarlad has joined #armlinux
iivanov has quit [Remote host closed the connection]
iivanov has joined #armlinux
prabhakarlad has quit [Quit: Client closed]
iivanov__ has joined #armlinux
ezulian has joined #armlinux
iivanov has quit [Ping timeout: 255 seconds]
apritzel has joined #armlinux
headless has quit [Quit: Konversation terminated!]
iivanov__ has quit [Quit: Leaving]
iivanov has joined #armlinux
sszy has joined #armlinux
atorgue has joined #armlinux
Clement28 has joined #armlinux
Clement28 has quit [Client Quit]
<atorgue> Hi, short question about SWIOTLB. It seems that the maximum contiguous buffer allocable is 256 kB defined by the “#define IO_TLB_SEGSIZE128” in include/linux/swiotlb.h. Comment in this file explains that this value could be tuned. I saw some initiatives (patches) to do it either through command line or Kconfig but never merged. Somebody knows
<atorgue> why? Is it because we don’t want to tune it ?
sakman_ has quit [Remote host closed the connection]
sakman_ has joined #armlinux
<robmur01> atorgue: was that the discussion which ended up pivoting into the introduction of dma_max_mapping_size()? The consensus these days is that larger bounces are generally indicative of the caller doing something wrong (or at least suboptimal), so it's better to look at the callers and aim to fix them
<robmur01> I believe the segment size has a fairly big impact on SWIOTLB performance, which people increasingly care about these days
<robmur01> (since it's being used more generally for confidential compute scenarios, rather than just a fallback for the occasional DMA addressing limitation)
iivanov has quit [Quit: Leaving]
iivanov has joined #armlinux
<atorgue> robmur01: Thanks Robin. When you say that the caller must to be fix, are you talking about the way to allocate buffers (either through reserved memory well placed in the first 2GB of memory or using GFP_DMA32) or do you have something else in mind ?
<atorgue> *the first 2GB of DDR memory (0x8000 0000 to 0xffff ffff)
<robmur01> depends on the scenario - in cases like the NVMe one it's a simple matter of just tweaking things to ensure the mapping is split into reasonably sized segments
<robmur01> others like vb2_dma_contig are where it only hits SWIOTLB at all because the code is doing fundamentally the wrong thing (e.g. that one wants reworking to use a proper DMA allocator)
* robmur01 may have meant vb2_dma_sg there...
<atorgue> Allocate a buffer of 512KB (kzalloc + GFP_KERNEL)  and use a dma_map_single API is wrong and should be split into to transfer of 256KB each ?
<atorgue> (I did some trials with dmatest)
heat has joined #armlinux
<robmur01> well, it's not "wrong" if you're happy to handle failure, but if you want to know if it has any chance of ever succeeding then check dma_max_mapping_size() first and work based on that
<atorgue> Ok, so instead of chenge swiotlb code, it is better to split transfers according to dma_max_mapping_size() return value
<robmur01> however for allocating large dedicated DMA buffers (other than the coherent APIs) you really want to be going to dma_alloc_pages()
monstr has quit [Ping timeout: 255 seconds]
vingu has quit [Ping timeout: 255 seconds]
vingu has joined #armlinux
deathcamel57 has joined #armlinux
heat has quit [Ping timeout: 260 seconds]
heat_ has joined #armlinux
monstr has joined #armlinux
iivanov has quit [Ping timeout: 240 seconds]
sakman_ has quit [Quit: Leaving]
sakman_ has joined #armlinux
<atorgue> robmur01: (sorry for my late answer). Yes and it is case (using dma_alloc_pages without coherent API) the driver must verify the transfer capability using dma_max_mapping_size
<atorgue> If yes. It is maybe something to add into dmatest driver
monstr has quit [Remote host closed the connection]
headless has joined #armlinux
leming has quit [Read error: Connection reset by peer]
Nact has joined #armlinux
rgallaispou has left #armlinux [#armlinux]
luke_ has joined #armlinux
mag has joined #armlinux
apritzel has quit [Ping timeout: 255 seconds]
prabhakarlad has joined #armlinux
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
leming has joined #armlinux
luke_ is now known as Zoob
psydroid has quit [Ping timeout: 264 seconds]
psydroid has joined #armlinux
Zoob has quit [Remote host closed the connection]
apritzel_ has joined #armlinux
alpernebbi has quit [Ping timeout: 240 seconds]
alpernebbi has joined #armlinux
cbeznea has quit [Ping timeout: 258 seconds]
headless has quit [Quit: Konversation terminated!]
ezulian has quit [Ping timeout: 252 seconds]
heat_ has quit [Remote host closed the connection]
heat_ has joined #armlinux
sally has quit [Remote host closed the connection]
amitk has quit [Ping timeout: 240 seconds]
psydroid2 has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
sally has joined #armlinux
deathcamel57 has quit [Remote host closed the connection]
deathcamel57 has joined #armlinux