Messages in this thread | | | Subject | Re: [PATCH] mm/memcg: fix device private memcg accounting | From | Ralph Campbell <> | Date | Fri, 9 Oct 2020 17:00:37 -0700 |
| |
On 10/9/20 3:50 PM, Andrew Morton wrote: > On Fri, 9 Oct 2020 14:59:52 -0700 Ralph Campbell <rcampbell@nvidia.com> wrote: > >> The code in mc_handle_swap_pte() checks for non_swap_entry() and returns >> NULL before checking is_device_private_entry() so device private pages >> are never handled. >> Fix this by checking for non_swap_entry() after handling device private >> swap PTEs. >> >> Cc: stable@vger.kernel.org > > I was going to ask "what are the end-user visible effects of the bug". > This is important information with a cc:stable. > >> >> I'm not sure exactly how to test this. I ran the HMM self tests but >> that is a minimal sanity check. I think moving the self test from one >> memory cgroup to another while it is running would exercise this patch. >> I'm looking at how the test could move itself to another group after >> migrating some anonymous memory to the test driver. >> > > But this makes me suspect the answer is "there aren't any that we know > of". Are you sure a cc:stable is warranted? >
I assume the memory cgroup accounting would be off somehow when moving a process to another memory cgroup. Currently, the device private page is charged like a normal anonymous page when allocated and is uncharged when the page is freed so I think that path is OK. Maybe someone who knows more about memory cgroup accounting can comment?
| |