[Crash-utility] [PATCH] SIAL ps.c: Fix wrong access to .counter on non-SMP kernels

Bernhard Walle bwalle at suse.de
Wed Feb 6 15:35:23 UTC 2008


* Dave Anderson <anderson at redhat.com> [2008-02-04 15:57]:
>
> http://people.redhat.com/anderson/extensions/ps.c has been updated
> with the patch above.

Thanks, I got a private mail from Luc Chouinard about the member()
function which I didn't know. The attached patch is against the ps.c
online and improves the detection.


        Bernhard
-------------- next part --------------
---
 ps.c |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

--- a/ps.c
+++ b/ps.c
@@ -127,13 +127,7 @@ int getasattr(task_t *t, int f)
 				return t->mm->rss*4;
 			} else {
 				struct mm_struct *mm=t->mm?t->mm:t->active_mm;
-
-				/*
-				 * on a SMP kernel (with a reasonable amount of NR_CPUS),
-				 * the _anon_rss and _file_rss is a atomic_t, on a UMP kernel
-				 * it's a normal integer
-				 */
-				if (exists("smp_num_cpus") || exists("__per_cpu_offset"))
+				if (member(&mm->_file_rss, "counter"))
 				    return (mm->_file_rss.counter+mm->_anon_rss.counter)*4;
                                 else
 				    return (mm->_file_rss+mm->_anon_rss)*4;


More information about the Crash-utility mailing list