[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACSyD1OK9=AuB8OWgk0WQwXc_tf827CMMor_qNs4VGUEM_suLA@mail.gmail.com>
Date: Fri, 16 Jun 2023 11:44:01 +0800
From: 贺中坤 <hezhongkun.hzk@...edance.com>
To: David Hildenbrand <david@...hat.com>
Cc: minchan@...nel.org, senozhatsky@...omium.org, mhocko@...e.com,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Matthew Wilcox <willy@...radead.org>
Subject: Re: [External] Re: [RFC PATCH 1/3] zram: charge the compressed RAM to
the page's memcgroup
>
> Yes. But just to stress again, one issue I see is that if there is a
> page in the BIO that is not charged, you cannot charge the compressed page.
I got it. Thanks.
>
> Assume you have some FS on that zram block device and you want to make
> sure it gets properly charged to whoever is reading/writing a file on
> that filesystem. (imagine something like a compress shmem)
>
> If a user (or the filesystem?) can trigger a BIO that has an uncharged
> page in it, it would not get charged accordingly.
>
> The "easy" reproducer would have been O_DIRECT write() using the shared
> zeropage, but zram_write_page() is smart enough to optimize for that
> case (page_same_filled()). :)
Ok, I will try it.
>
> Maybe I'm over-thinking this (well, the we do have partial I/O support,
> so something seems to be able to trigger such cases), and it would be
> great if someone with more FS->BIO experience could comment.
>
> I'll note that this is fundamentally different to zswap, because with
> zswap you don't get arbitrary BIOs, you get an anon or shmem page (that
> should be charged).
>
Hi David, I know your concern and I will try to find the uncharged case.
> --
> Cheers,
>
> David / dhildenb
>
Powered by blists - more mailing lists