On Wed, Apr 26, 2023 at 02:44:39PM +0200, Petr Tesařík wrote: > Hi Greg, > > On Wed, 26 Apr 2023 14:26:36 +0200 > Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > On Wed, Apr 26, 2023 at 02:15:20PM +0200, Petr Tesařík wrote: > > > Hi, > > > > > > On Wed, 19 Apr 2023 12:03:52 +0200 > > > Petr Tesarik <petrtesarik@xxxxxxxxxxxxxxx> wrote: > > > > > > > From: Petr Tesarik <petr.tesarik.ext@xxxxxxxxxx> > > > > > > > > The goal of my work is to provide more flexibility in the sizing of > > > > SWIOTLB. > > > > > > > > The software IO TLB was designed with these assumptions: > > > > > > > > 1. It would not be used much, especially on 64-bit systems. > > > > 2. A small fixed memory area (64 MiB by default) is sufficient to > > > > handle the few cases which require a bounce buffer. > > > > 3. 64 MiB is little enough that it has no impact on the rest of the > > > > system. > > > > > > > > First, if SEV is active, all DMA must be done through shared > > > > unencrypted pages, and SWIOTLB is used to make this happen without > > > > changing device drivers. The software IO TLB size is increased to > > > > 6% of total memory in sev_setup_arch(), but that is more of an > > > > approximation. The actual requirements may vary depending on the > > > > amount of I/O and which drivers are used. These factors may not be > > > > know at boot time, i.e. when SWIOTLB is allocated. > > > > > > > > Second, other colleagues have noticed that they can reliably get > > > > rid of occasional OOM kills on an Arm embedded device by reducing > > > > the SWIOTLB size. This can be achieved with a kernel parameter, but > > > > determining the right value puts additional burden on pre-release > > > > testing, which could be avoided if SWIOTLB is allocated small and > > > > grows only when necessary. > > > > > > Now that merging into 6.4 has begun, what about this patch series? I'm > > > eager to get some feedback (positive or negative) and respin the next > > > version. > > > > It's the merge window, we can't add new things that haven't been in > > linux-next already. > > This is understood. I'm not asking for immediate inclusion. > > > Please resubmit it after -rc1 is out. > > If you can believe that rebasing to -rc1 will be enough, then I will > also try to believe I'm lucky. ;-) > > The kind of feedback I really want to get is e.g. about the extra > per-device DMA-specific fields. If they cannot be added to struct > device, then I'd rather start discussing an interim solution, because > getting all existing DMA fields out of that struct will take a lot of > time... I thought the goal was to get them out of the device and into the bus instead right? Or was it the other way around? I can't remember anymore, sorry... greg k-h