lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0608041616330.10681@blonde.wat.veritas.com>
Date:	Fri, 4 Aug 2006 16:47:27 +0100 (BST)
From:	Hugh Dickins <hugh@...itas.com>
To:	Mulyadi Santosa <mulyadi.santosa@...il.com>
cc:	Andrew Morton <akpm@...l.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] accounting per process swapped out pages

On Fri, 4 Aug 2006, Mulyadi Santosa wrote:
> 
> Here is patch to count per process swapped out pages. This patch is 
> created against 2.6.16.1. So far, I had tested by forcing certain task 
> to swap out (tail -f /dev/zero) and wait until top/vmstat/free reported
> that swap is occupied.
> 
> Comments and feedbacks are  greatly appreciated. Please keep me CC'ed 
> since I am not subscribed to linux-kernel mailing list.

To be honest, I don't think there's much interest in this particular
VmSwp statistic; and if there's little interest in it, we'd rather
not spend the time and space on collecting it.  But I could be wrong:
let's see who speaks up for it.

A few comments on the mechanics of your patch.

You waste space in every vm_area_struct for your swapped_out count,
then /proc/<pid>/status has to loop over the vmas adding them up.
Much better to make it an mm_counter like anon_rss, then you only
use space in mm_struct, and don't have to add them up at the end,
and avoid dirtying (vma) cachelines unnecessarily, and (in some
cases) avoid the atomic operations.

While you've caught the main places where you'd need to adjust
swapped_out, you've missed a couple (maybe I've missed more):
copy_pte_range (fork) needs to increment the count, zap_pte_range
(munmap or truncate or exit) needs to decrement it.  Check wherever
anon_rss is adjusted, some not all would need swapped_out adjusted.

Oh, you are doing something in zap_pte_range, but I'm sorry to say
what you do there is nonsense: the number you're subtracting has
nothing to do with the number of swapped out pages.

And you probably wouldn't want that printk in your final patch!

Hugh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ