From 700cf9c967a77d06cdf75e6a68c61a42402f0d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann?= Date: Tue, 5 Apr 2005 18:37:13 +0000 Subject: [PATCH] Make it compile with kernel 2.6.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tue Apr 5 14:34:43 2005 Søren Sandmann * sysprof-module.c (x_access_process_vm): Make it compile with kernel 2.6.11 * TODO: updates --- ChangeLog | 7 +++++++ TODO | 11 ++++++++--- sysprof-module.c | 5 +++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 65ba1fbc..ca35bebb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Apr 5 14:34:43 2005 Søren Sandmann + + * sysprof-module.c (x_access_process_vm): Make it compile with + kernel 2.6.11 + + * TODO: updates + Mon Apr 4 00:57:11 2005 Soeren Sandmann * sysprof.c: Busy cursors in many more places. diff --git a/TODO b/TODO index be949f45..fd0170b5 100644 --- a/TODO +++ b/TODO @@ -27,6 +27,11 @@ Before 1.0: Before 1.2: +- Make busy cursors more intelligent + - when you click something in the main list and we don't respond + within 50ms (or perhaps when we expect to not be able to do + so (can we know the size in advance?)) + - instead of as we do now: set the busy cursor unconditionally - Reorganise stackstash and profile - stackstash should just take traces of addresses without knowing @@ -116,13 +121,13 @@ Later: call malloc(), couldn't call printf(), etc. - figure out a way to deal with both disk and CPU. Need to make sure that - things that are UNINTERRUPTIBLE while there are RUNNING tasks is not - consider bad. + things that are UNINTERRUPTIBLE while there are RUNNING tasks are not + considered bad. Not entirely clear that the sysprof visualization is right for disk. Maybe assign a size of n to traces with n *unique* disk access (ie. - disk accesses that are not made by any other stack trace). + disk accesses that are not required by any other stack trace). Or assign values to nodes in the calltree based on how many diskaccesses are contained in that tree. Ie., if I get rid of this branch, how many diff --git a/sysprof-module.c b/sysprof-module.c index f7438136..42a03922 100644 --- a/sysprof-module.c +++ b/sysprof-module.c @@ -17,6 +17,7 @@ #include "sysprof-module.h" +#include MODULE_LICENSE("GPL"); MODULE_AUTHOR("Soeren Sandmann (sandmann@daimi.au.dk)"); @@ -115,8 +116,12 @@ static int x_access_process_vm(struct task_struct *tsk, unsigned long addr, void if (bytes > PAGE_SIZE-offset) bytes = PAGE_SIZE-offset; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11) + flush_cache_page(vma, addr); +#endif + maddr = kmap(page); if (write) { copy_to_user_page(vma, page, addr,