1
linux/arch
Cliff Wickman 4ac0068f44 [IA64] ptrace - find memory sharers on children list
In arch/ia64/kernel/ptrace.c there is a test for a peek or poke of a
register image (in register backing storage).
The test can be unnecessarily long (and occurs while holding the tasklist_lock).
Especially long on a large system with thousands of active tasks.

The ptrace caller (presumably a debugger) specifies the pid of
its target and an address to peek or poke.  But the debugger could be
attached to several tasks.
The idea of find_thread_for_addr() is to find whether the target address
is in the RBS for any of those tasks.

Currently it searches the thread-list of the target pid.  If that search
does not find a match, and the shared mm-struct's user count indicates
that there are other tasks sharing this address space (a rare occurrence),
a search is made of all the tasks in the system.

Another approach can drastically shorten this procedure.
It depends upon the fact that in order to peek or poke from/to any task,
the debugger must first attach to that task.  And when it does, the
attached task is made a child of the debugger (is chained to its children list).

Therefore we can search just the debugger's children list.

Signed-off-by: Cliff Wickman <cpw@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-10-27 16:15:03 -07:00
..
alpha [PATCH] alpha: fix kernel alignment traps 2005-10-02 14:32:49 -07:00
arm [ARM] fix sharp zaurus c-3000 compile failure without CONFIG_FB_PXA 2005-10-24 22:30:10 +01:00
arm26 [PATCH] Remove arch/arm26/boot/compressed/hw-bse.c 2005-09-17 11:49:59 -07:00
cris [NETFILTER]: Fix OOPSes on machines with discontiguous cpu numbering. 2005-10-13 14:41:23 -07:00
frv kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
h8300 kbuild: h8300,m68knommu,sh,sh64 use generic asm-offsets.h support 2005-09-09 20:28:49 +02:00
i386 [PATCH] typo fix in last cpufreq powernow patch 2005-10-21 17:08:30 -07:00
ia64 [IA64] ptrace - find memory sharers on children list 2005-10-27 16:15:03 -07:00
m32r [PATCH] m32r: Fix smp.c for preempt kernel 2005-10-14 17:10:12 -07:00
m68k Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2005-09-09 15:46:49 -07:00
m68knommu [PATCH] m68knommu: startup code for the Drangen Engine 68328 based board 2005-09-12 20:04:15 -07:00
mips [PATCH] mips: fix build error in TANBAC TB0226 2005-10-14 17:10:11 -07:00
parisc [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
ppc [PATCH] ppc32: Tell userland about lack of standard TB 2005-10-12 08:24:47 -07:00
ppc64 [PATCH] ppc64: Fix wrong register mapping in mpic driver 2005-10-26 10:39:43 -07:00
s390 [PATCH] s390 signal annotations 2005-09-29 08:46:27 -07:00
sh [NETFILTER]: Fix OOPSes on machines with discontiguous cpu numbering. 2005-10-13 14:41:23 -07:00
sh64 kbuild: rename prepare to archprepare to fix dependency chain 2005-09-11 22:30:22 +02:00
sparc [SPARC32]: Revert IOMAP change eb98129eec 2005-10-10 21:02:26 -07:00
sparc64 [SPARC64]: Fix powering off on SMP. 2005-10-14 15:26:08 -07:00
um [PATCH] uml: fix compile failure for TT mode 2005-10-24 08:59:25 -07:00
v850 [PATCH] V850: C99 initializers for hw_interrupt_type structures 2005-09-10 10:06:27 -07:00
x86_64 [PATCH] x86_64: Allocate cpu local data for all possible CPUs 2005-10-10 16:33:25 -07:00
xtensa [PATCH] xtensa: remove io_remap_page_range and minor clean-ups 2005-09-22 22:17:37 -07:00