Messages in this thread | | | From | Qian Cai <> | Subject | Re: [PATCH] mm/util: fix a data race in __vm_enough_memory() | Date | Thu, 30 Jan 2020 06:50:27 -0500 |
| |
> On Jan 29, 2020, at 11:20 PM, Matthew Wilcox <willy@infradead.org> wrote: > > I'm really not a fan of exposing the internals of a percpu_counter outside > the percpu_counter.h file. Why shouldn't this be fixed by putting the > READ_ONCE() inside percpu_counter_read()?
It is because not all places suffer from a data race. For example, in __wb_update_bandwidth(), it was protected by a lock. I was a bit worry about blindly adding READ_ONCE() inside percpu_counter_read() might has unexpected side-effect. For example, it is unnecessary to have READ_ONCE() for a volatile variable. So, I thought just to keep the change minimal with a trade off by exposing a bit internal details as you mentioned.
However, I had also copied the percpu maintainers to see if they have any preferences?
| |