Re: staging: ion: ION allocation fall back order depends on heap linkage order

From: Laura Abbott
Date: Wed Feb 07 2018 - 10:33:02 EST


On 02/07/2018 07:10 AM, Alexey Skidanov wrote:


On 02/07/2018 04:58 PM, Laura Abbott wrote:
On 02/06/2018 11:05 PM, Alexey Skidanov wrote:


Yup, you've hit upon a key problem. Having fallbacks be stable
was always a problem and the recommendation these days is to
not rely on them. You can specify a heap at a time and fallback
manually if you want that behavior.

If you have a proposal to make fallbacks work reliably without
overly complicating the ABI I'm happy to review it.

Thanks,
Laura

I think it's possible to "automate" the "manual fallback" behavior. But
the real issues is using heap id to specify the particular heap object.

Current API (allocation IOCTL) requires to specify the particular heap
object by using heap id. From the other hand, the user space doesn't
control the heaps creation order and heap id assignment. So it may be
tricky, especially when more than one object of the same heap type is
created automatically.

Thanks,
Alexey



The query ioctl is designed to get the heap ID information without
needing to rely on the linking order or anything else defined in
the kernel.

Thanks,
Laura

That is true. But if we have 2 *automatically created* heaps of the same
type, how userspace can distinguish between them?

Thanks,
Alexey


The query ioctl also gives the name which should be different
for each heap. It's not ideal but the name/heap type are the best
way to differentiate between heaps without resorting to hard
coding.

Thanks,
Laura