David Hildenbrand
2022-Oct-11 09:23 UTC
RFC [PATCH v4 2/7] Enable balloon drivers to report inflated memory
>>>> Sounds to me that all you want is some notifier to be called from >>>> adjust_managed_page_count(). What am I missing? >>> >>> Notifier will act as an accumulator to report size of change and it will make things easier for the drivers and users wrt locking. >>> Notifier is similar to the memory hotplug notifier. >> >> Overall, I am not convinced that there is any value of separating the value >> and the notifier. You can batch both or not batch both. In addition, as I >> mentioned, having two values seems racy. > > I have identified two users so far above - may be more to come. > One type needs the value to adjust. Also having the value is necessary > to report it to users and oom. There are options with callbacks and so > on but it will complicate things with no real gain. You are right about > the atomicity but i guess if that's a problem for some user it could > find a way to ensure it. i am yet to find such place. >I haven't followed the whole discussion, but I just wanted to raise that having a generic mechanism to notify on such changes could be valuable. For example, virtio-mem also uses adjust_managed_page_count() and might sometimes not trigger memory hotplug notifiers when adding more memory (essentially, when it fake-adds memory part of an already added Linux memory block). What might make sense is schedule some kind of deferred notification on adjust_managed_page_count() changes. This way, we could notify without caring about locking and would naturally batch notifications. adjust_managed_page_count() users would not require changes. -- Thanks, David / dhildenb