Re: [PATCH 0/2] iommu/iova: Make the rcache depot properly flexible

Robin Murphy
2023-08-15T11:12:37Z

On 15/08/2023 11:24 am, John Garry wrote:
> On 14/08/2023 18:53, Robin Murphy wrote:
>> Hi all,
>>
>
> Hi Robin,
>
>> Prompted by [1], which reminded me I started this a while ago, I've now
>> finished off my own attempt at sorting out the horrid lack of rcache
>> scalability. It's become quite clear that given the vast range of system
>> sizes and workloads there is no right size for a fixed depot array, so I
>> reckon we're better off not having one at all.
>>
>> Note that the reclaim threshold and rate are chosen fairly arbitrarily -
>
> This threshold is the number of online CPUs, right?

Yes, that's nominally half of the current fixed size (based on all the
performance figures from the original series seemingly coming from a
16-thread machine, but seemed like a fair compromise. I am of course
keen to see how real-world testing actually pans out.

>> it's enough of a challenge to get my 4-core dev board with spinning disk
>> and gigabit ethernet to push anything into a depot at all :)
>>
>
> I have to admit that I was hoping to also see a more aggressive reclaim
> strategy, where we also trim the per-CPU rcaches when not in use.
> Leizhen proposed something like this a long time ago.

Don't think I haven't been having various elaborate ideas for making it
cleverer with multiple thresholds and self-tuning, however I have
managed to restrain myself ;)

At this point I'm just looking to confirm whether the fundamental
concepts are sound, and at least no worse than the current behaviour
(hence keeping it split into 2 distinct patches for the sake of review
and debugging). If it proves solid then we can absolutely come back and
go to town on enhancements later.

Cheers,
Robin.