lkml.org 
[lkml]   [2023]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 00/24] Swapin path refactor for optimization and bugfix
    Yosry Ahmed <yosryahmed@google.com> 于2023年11月21日周二 03:18写道:
    >
    > On Sun, Nov 19, 2023 at 11:48 AM Kairui Song <ryncsn@gmail.com> wrote:
    > >
    > > From: Kairui Song <kasong@tencent.com>
    > >
    > > This series tries to unify and clean up the swapin path, fixing a few
    > > issues with optimizations:
    > >
    > > 1. Memcg leak issue: when a process that previously swapped out some
    > > migrated to another cgroup, and the origianl cgroup is dead. If we
    > > do a swapoff, swapped in pages will be accounted into the process
    > > doing swapoff instead of the new cgroup. This will allow the process
    > > to use more memory than expect easily.
    > >
    > > This can be easily reproduced by:
    > > - Setup a swap.
    > > - Create memory cgroup A, B and C.
    > > - Spawn process P1 in cgroup A and make it swap out some pages.
    > > - Move process P1 to memory cgroup B.
    > > - Destroy cgroup A.
    > > - Do a swapoff in cgroup C
    > > - Swapped in pages is accounted into cgroup C.
    > >
    > > This patch will fix it make the swapped in pages accounted in cgroup B.
    > >
    >
    > I guess this only works for anonymous memory and not shmem, right?

    Hi Yosry,

    Yes, this patch only changed the charge target for anon page.

    >
    > I think tying memcg charges to a process is not something we usually
    > do. Charging the pages to the memcg of the faulting process if the
    > previous owner is dead makes sense, it's essentially recharging the
    > memory to the new owner. Swapoff is indeed a special case, since the
    > faulting process is not the new owner, but an admin process or so. I
    > am guessing charging to the new memcg of the previous owner might make
    > sense in this case, but it is a change of behavior.

    After discuss with others I also found this is a controversial issue,
    will send separate series for this, I think it needs more discuss.

    \
     
     \ /
      Last update: 2023-11-22 07:43    [W:4.153 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site