Hello, On Mon, 24 Feb 2020 13:30:33 +0100 SeongJae Park <sjpark@xxxxxxxxxx> wrote: > From: SeongJae Park <sjpark@xxxxxxxxx> > > Introduction > ============ > > Memory management decisions can be improved if finer data access information is > available. However, because such finer information usually comes with higher > overhead, most systems including Linux forgives the potential improvement and > rely on only coarse information or some light-weight heuristics. The > pseudo-LRU and the aggressive THP promotions are such examples. > > A number of experimental data access pattern awared memory management > optimizations (refer to 'Appendix A' for more details) say the sacrifices are > huge. However, none of those has successfully adopted to Linux kernel mainly > due to the absence of a scalable and efficient data access monitoring > mechanism. Refer to 'Appendix B' to see the limitations of existing memory > monitoring mechanisms. > > DAMON is a data access monitoring subsystem for the problem. It is 1) accurate > enough to be used for the DRAM level memory management (a straightforward > DAMON-based optimization achieved up to 2.55x speedup), 2) light-weight enough > to be applied online (compared to a straightforward access monitoring scheme, > DAMON is up to 94.242.42x lighter) and 3) keeps predefined upper-bound overhead > regardless of the size of target workloads (thus scalable). Refer to 'Appendix > C' if you interested in how it is possible. > > DAMON has mainly designed for the kernel's memory management mechanisms. > However, because it is implemented as a standalone kernel module and provides > several interfaces, it can be used by a wide range of users including kernel > space programs, user space programs, programmers, and administrators. DAMON > is now supporting the monitoring only, but it will also provide simple and > convenient data access pattern awared memory managements by itself. Refer to > 'Appendix D' for more detailed expected usages of DAMON. I have posted this patchset once per week, but skip this week because there were no comments in last week and therefore made no change in the patchset. I think I answered to all previous comments and fixed all bugs previously found. May I ask some more comments or reviews? If I missed something or doing wrong, please let me know. Thanks, SeongJae Park [...]