mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
Update TODO
This commit is contained in:
30
TODO
30
TODO
@ -4,6 +4,9 @@ Before 1.0:
|
|||||||
- Find out what distributions it actually works on
|
- Find out what distributions it actually works on
|
||||||
(ask for sucess/failure-stories in 0.9.x releases)
|
(ask for sucess/failure-stories in 0.9.x releases)
|
||||||
|
|
||||||
|
- Create RPM package? See fedora package list for information
|
||||||
|
about how to package kernel modules.
|
||||||
|
|
||||||
- After 1.0:
|
- After 1.0:
|
||||||
- Announce on news.gnome.org
|
- Announce on news.gnome.org
|
||||||
- Announce on Gnomefiles
|
- Announce on Gnomefiles
|
||||||
@ -16,30 +19,41 @@ Before 1.2:
|
|||||||
|
|
||||||
* See if the auto-expanding can be made more intelligent
|
* See if the auto-expanding can be made more intelligent
|
||||||
|
|
||||||
* Send entire stack to user space, then do stackwalking there
|
* Send entire stack to user space, then do stackwalking there. That would
|
||||||
|
allow us to do more complex algorithms, like dwarf, in userspace. Though
|
||||||
|
we'd lose the ability to do non-racy file naming. We could pass a list
|
||||||
|
of the process mappings with each stack though.
|
||||||
|
|
||||||
* If interrupt happens in kernel mode, send both
|
* If interrupt happens in kernel mode, send both
|
||||||
kernel stack and user space stack, have userspace stitch them
|
kernel stack and user space stack, have userspace stitch them
|
||||||
together.
|
together. (User space stack must probably be done in a thread - kernel
|
||||||
|
stack must probably be taken in the interrupt itself?
|
||||||
|
- Why this difference? The page tables should still be loaded. Is it
|
||||||
|
because pages_present() doesn't work? No, turning it off doesn't help.
|
||||||
|
|
||||||
* Correctness
|
* Correctness
|
||||||
- When the module is unloaded, kill all processes blocking in read
|
- When the module is unloaded, kill all processes blocking in read
|
||||||
- or block unloading until all processes have exited
|
- or block unloading until all processes have exited
|
||||||
Unfortunately this is basically impossible to do with a /proc
|
Unfortunately this is basically impossible to do with a /proc
|
||||||
file (no open() notification). So, for 1.0 this will have to be
|
file (no open() notification). So, for 1.0 this will have to be
|
||||||
a dont-do-that-then. For 1.2, we should do it with a sysfs
|
a dont-do-that-then. For 1.2, we should do it with a sysfs and
|
||||||
file instead.
|
kobject instead.
|
||||||
|
|
||||||
- When the module is unloaded, can we somehow *guarantee* that no
|
- When the module is unloaded, can we somehow *guarantee* that no
|
||||||
kernel thread is active? Doesn't look like it; however we can
|
kernel thread is active? Doesn't look like it; however we can
|
||||||
get very close by decreasing a ref count just before returning
|
get very close by decreasing a ref count just before returning
|
||||||
from the module. (There may still be return instructions etc.
|
from the module. (There may still be return instructions etc.
|
||||||
that will get run).
|
that will get run). This may not be an issue with the timer
|
||||||
|
based scanning we are using currently.
|
||||||
|
|
||||||
- See if there is a way to make it distcheck
|
- See if there is a way to make it distcheck
|
||||||
|
|
||||||
- grep FIXME - not10
|
- grep FIXME - not10
|
||||||
|
|
||||||
- translation should be hooked up
|
- translation should be hooked up
|
||||||
|
|
||||||
- Consider adding "at least 5% inclusive cost" filter
|
- Consider adding "at least 5% inclusive cost" filter
|
||||||
|
|
||||||
- Ability to generate "screenshots" suitable for mail/blog/etc
|
- Ability to generate "screenshots" suitable for mail/blog/etc
|
||||||
UI: "generate screenshot" menu item pops up a window with
|
UI: "generate screenshot" menu item pops up a window with
|
||||||
a text area + a radio buttons "text/html". When you flick
|
a text area + a radio buttons "text/html". When you flick
|
||||||
@ -52,9 +66,7 @@ Before 1.2:
|
|||||||
|
|
||||||
- Make the process waiting in poll() responsible for extracting
|
- Make the process waiting in poll() responsible for extracting
|
||||||
the backtrace. Give a copy of the entire stack rather than doing
|
the backtrace. Give a copy of the entire stack rather than doing
|
||||||
the walk inside the kernel. That would allow us to do more complex
|
the walk inside the kernel.
|
||||||
algorithms in userspace. Though we'd lose the ability to do non-racy
|
|
||||||
file naming. We could pass a list of the process mappings though.
|
|
||||||
|
|
||||||
New model:
|
New model:
|
||||||
- Two arrays,
|
- Two arrays,
|
||||||
@ -174,7 +186,7 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
|
|||||||
for each leaf
|
for each leaf
|
||||||
add trace to tree (leaf, interesting)
|
add trace to tree (leaf, interesting)
|
||||||
- Consider adding KDE-style nested callgraph view
|
- Consider adding KDE-style nested callgraph view
|
||||||
- probably need a dependency on gtk+ 2.8 for this.
|
- probably need a dependency on gtk+ 2.8 (cairo) for this.
|
||||||
- Add support for line numbers within functions
|
- Add support for line numbers within functions
|
||||||
- Possibly a special "view details" mode, assuming that
|
- Possibly a special "view details" mode, assuming that
|
||||||
the details of a function are not that interesting
|
the details of a function are not that interesting
|
||||||
|
|||||||
Reference in New Issue
Block a user