On Wed, Sep 20, 2023 at 6:47 AM Michal Hocko <mhocko@xxxxxxxx> wrote: > > On Wed 20-09-23 15:25:23, Jeremi Piotrowski wrote: > > On 9/20/2023 1:07 PM, Michal Hocko wrote: > [...] > > > I mean, normally I would be just fine reverting this API change because > > > it is disruptive but the only way to have the file available and not > > > break somebody is to revert 58056f77502f ("memcg, kmem: further > > > deprecate kmem.limit_in_bytes") as well. Or to ignore any value written > > > there but that sounds rather dubious. Although one could argue this > > > would mimic nokmem kernel option. > > > > > > > I just want to make sure we don't introduce yet another new behavior in this legacy > > system. I have not seen breakage due to 58056f77502f. Mimicing nokmem sounds good but > > does this mean "don't enforce limits" (that should be fine) or "ignore writes to the limit" > > (=don't event store the written limit). The latter might have unintended consequences. > > Yes it would mean that the limit is never enforced. Bad as it is the > thing is that the hard limit on kernel memory is broken by design and > unfixable. This causes all sorts of unexpected kernel allocation > failures that this is simply unsafe to use. > > All that being said I can see the following options > 1) keep the current upstream status and not export the file > 2) revert both 58056f77502f and 86327e8eb94 and make it clear > that kmem.limit_in_bytes is unsupported so failures or misbehavior > as a result of the limit being hit are likely not going to be > investigated or fixed. > 3) reverting like in 2) but never inforce the limit (so basically nokmem > semantic) > > Shakeel, Johannes, Roman, Muchun Song what do you think? I think the safe option would be to revert 86327e8eb94 for now and put pr_warn_once even for the read of kmem.limit_in_bytes? We can retry 86327e8eb94 in a year or so. However personally I would prefer option 1. Also I don't think reverting 58056f77502f would give any benefit.