On Tue 10-07-18 12:09:17, Waiman Long wrote: > On 07/10/2018 10:27 AM, Michal Hocko wrote: > > On Mon 09-07-18 12:01:04, Waiman Long wrote: > >> On 07/09/2018 04:19 AM, Michal Hocko wrote: [...] > >>> percentage has turned out to be a really wrong unit for many tunables > >>> over time. Even 1% can be just too much on really large machines. > >> Yes, that is true. Do you have any suggestion of what kind of unit > >> should be used? I can scale down the unit to 0.1% of the system memory. > >> Alternatively, one unit can be 10k/cpu thread, so a 20-thread system > >> corresponds to 200k, etc. > > I simply think this is a strange user interface. How much is a > > reasonable number? How can any admin figure that out? > > Without the optional enforcement, the limit is essentially just a > notification mechanism where the system signals that there is something > wrong going on and the system administrator need to take a look. So it > is perfectly OK if the limit is sufficiently high that normally we won't > need to use that many negative dentries. The goal is to prevent negative > dentries from consuming a significant portion of the system memory. So again. How do you tell the right number? > I am going to reduce the granularity of each unit to 1/1000 of the total > system memory so that for large system with TB of memory, a smaller > amount of memory can be specified. It is just a matter of time for this to be too coarse as well. -- Michal Hocko SUSE Labs