> On 2020-05-24 22:40, Daejun Park wrote: > > The HPB driver is close to the UFS core function, but it is not essential > > for operating UFS device. With reference to this article > > (https://lwn.net/Articles/645810/), we implemented extended UFS-feature > > as bus model. Because the HPB driver consumes the user's main memory, it > should > > support bind / unbind functionality as needed. We implemented the HPB > driver > > can be unbind / unload on runtime. > > I do not agree that the bus model is the best choice for freeing cache > memory if it is no longer needed. A shrinker is probably a much better > choice because the callback functions in a shrinker get invoked when a > system is under memory pressure. See also register_shrinker(), > unregister_shrinker() and struct shrinker in include/linux/shrinker.h. Since this discussion is closely related to cache allocation, What is your opinion about allocating the pages dynamically as the regions Are being activated/deactivated, in oppose of how it is done today - Statically on init for the entire max-active-subregions?