>On Thu 13-04-23 09:16:58, Jaewon Kim wrote: >> >On Wed, Apr 12, 2023 at 4:38?AM Jaewon Kim <jaewon31.kim@xxxxxxxxxxx> wrote: >> > >> >> Yes I think you're right. As a allocator, dma-buf system heap looks to be loose >> >> in memory allocation. Limiting dmabuf memory may be required. But I think there >> >> is no nice and reasonable way so far. And the dma-buf system heap is being >> >> widely used in Android mobile system. AFAIK the camera consumes huge memory >> >> through this dma-buf system heap. I actually even looked a huge size request >> >> over 2GB in one dma-buf request. >> >> >> >Hey can you point me to where you saw a request that big? That's a >> >non-buggy request?! >> >> (let me resend as plain text) >> It was one of camera scenarios. I internally asked and heard that was not a bug >> but normal. I think 2GB looks too big for one graphics buffer but it could be >> for other purposes like camera. I think the system heap should support that. > >Is that any of the upstream drivers or something sitting out of the >tree. I don't think so. I guess that is userspace library rather than kernel driver. The user library directly might request the size through dma-buf ioctl. Even though that is kernel driver, I think the driver may not be upstreamed. > >> Regarding __GFP_RETRY_MAYFAIL, we may need to say dma-buf system heap was >> designed to gather many pages up to a requested size. If mm returns NULL due to >> __GFP_RETRY_MAYFAIL, dma-buf system heap will release other already allocated >> pages, so that it may help to avoid oom. > >This really depends on the other activity on the system. If you have a >more concurrent memory demand at the time then you might be just out of >the luck. Really, claiming huge portion of the memory shouldn't be done >nilly willy. I agree on that. >-- >Michal Hocko >SUSE Labs