Re: [PATCH] delayacct: track delays from COW

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 22.03.22 12:04, cgel.zte@xxxxxxxxx wrote:
> From: Yang Yang <yang.yang29@xxxxxxxxxx>
> 
> Delay accounting does not track the delay of COW. When tasks trigger
> much COW, it may spend a amount of time waiting for it. To get the
> impact of tasks in COW, measure the delay when it happens. This
> could help users to do tunnings, such as decide whether to use
> ksm or not.
> 
> Also update tools/accounting/getdelays.c:
> 
>     / # ./getdelays -dl -p 231
>     print delayacct stats ON
>     listen forever
>     PID     231
> 
>     CPU             count     real total  virtual total    delay total  delay average
>                      6247     1859000000     2154070021     1674255063          0.268ms
>     IO              count    delay total  delay average
>                         0              0              0ms
>     SWAP            count    delay total  delay average
>                         0              0              0ms
>     RECLAIM         count    delay total  delay average
>                         0              0              0ms
>     THRASHING       count    delay total  delay average
>                         0              0              0ms
>     COMPACT         count    delay total  delay average
>                         3          72758              0ms
>     COW             count    delay total  delay average
>                      3635      271567604              0ms

You should also update Documentation/accounting/delay-accounting.rst
most probably.

Overall LGTM and this might be of value not only for KSM but for anybody
using fork(). There will be collisions with [1], especially [2], which I
want to get in -next early after we have v5.18-rc1 (after rebasing [1]
on top of this).

We'll have to decide if we want to also account hugetlb wp code
(hugetlb_cow), and if we want to account "unsharing" here as well under
cow (I tend to say that we want to for simplicity). For THP, we only
split and don't copy, so there isn't anything to account.

[1] https://lore.kernel.org/r/20220315104741.63071-1-david@xxxxxxxxxx
[2] https://lore.kernel.org/r/20220315104741.63071-14-david@xxxxxxxxxx

-- 
Thanks,

David / dhildenb





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux