public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
* ongoing frysk.proc.ptrace refactoring
@ 2007-05-22 14:38 Andrew Cagney
  2007-05-22 14:45 ` Chris Moller
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Cagney @ 2007-05-22 14:38 UTC (permalink / raw)
  To: frysk

Just a work-in-progress update:

While I've finished restructuring the target specific frysk.proc code 
into separate frysk.proc.corefile, frysk.proc.dummy and 
frysk.proc.ptrace packages there's still a ways to go as the refactoring 
has helped clarify several additional problems with the current code:

-> frysk.proc.Proc and frysk.proc.Task seem to have gained a number of 
fields, such as Task.sig_send, that are very Linux/ptrace centric; 
the'll need to be cleaned up

-> many of the methods, such as frysk.proc.Task.sendContinue, being 
ptrace specific (they do not apply to a corefile proc), can be moved to 
more specific packages

-> rather than split along the lines of "corefile" and "ptrace", a 
better split might be "dead" (you can query a dead proc) and "live" (or 
stateful) (you can observe a live proc), re-consider that once the more 
pressing issues are addressed

I'll be continuing with this.

Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ongoing frysk.proc.ptrace refactoring
  2007-05-22 14:38 ongoing frysk.proc.ptrace refactoring Andrew Cagney
@ 2007-05-22 14:45 ` Chris Moller
  2007-05-22 15:10   ` Andrew Cagney
  2007-05-22 16:32   ` Chris Moller
  0 siblings, 2 replies; 6+ messages in thread
From: Chris Moller @ 2007-05-22 14:45 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: frysk

[-- Attachment #1: Type: text/plain, Size: 1221 bytes --]

Andrew,

I'd planned to add MemorySpaceByteBuffer.java and commit a few changes
to TestByteBuffer.java in frysk-core/frysk/proc/ptrace later today--is
that going to mung up the stuff you're doing?

Chris

Andrew Cagney wrote:
> Just a work-in-progress update:
>
> While I've finished restructuring the target specific frysk.proc code
> into separate frysk.proc.corefile, frysk.proc.dummy and
> frysk.proc.ptrace packages there's still a ways to go as the
> refactoring has helped clarify several additional problems with the
> current code:
>
> -> frysk.proc.Proc and frysk.proc.Task seem to have gained a number of
> fields, such as Task.sig_send, that are very Linux/ptrace centric;
> the'll need to be cleaned up
>
> -> many of the methods, such as frysk.proc.Task.sendContinue, being
> ptrace specific (they do not apply to a corefile proc), can be moved
> to more specific packages
>
> -> rather than split along the lines of "corefile" and "ptrace", a
> better split might be "dead" (you can query a dead proc) and "live"
> (or stateful) (you can observe a live proc), re-consider that once the
> more pressing issues are addressed
>
> I'll be continuing with this.
>
> Andrew
>


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 251 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ongoing frysk.proc.ptrace refactoring
  2007-05-22 14:45 ` Chris Moller
@ 2007-05-22 15:10   ` Andrew Cagney
  2007-05-22 16:32   ` Chris Moller
  1 sibling, 0 replies; 6+ messages in thread
From: Andrew Cagney @ 2007-05-22 15:10 UTC (permalink / raw)
  To: Chris Moller; +Cc: frysk

Chris,

Adding MemorySpaceByteBuffer won't affect any of this as that side is 
already very clean.  It's in the state-machine (separate) that I've been 
seeing problems.

Thanks for the heads up though,

Andrew

Chris Moller wrote:
> Andrew,
>
> I'd planned to add MemorySpaceByteBuffer.java and commit a few changes
> to TestByteBuffer.java in frysk-core/frysk/proc/ptrace later today--is
> that going to mung up the stuff you're doing?
>
> Chris
>
> Andrew Cagney wrote:
>   
>> Just a work-in-progress update:
>>
>> While I've finished restructuring the target specific frysk.proc code
>> into separate frysk.proc.corefile, frysk.proc.dummy and
>> frysk.proc.ptrace packages there's still a ways to go as the
>> refactoring has helped clarify several additional problems with the
>> current code:
>>
>> -> frysk.proc.Proc and frysk.proc.Task seem to have gained a number of
>> fields, such as Task.sig_send, that are very Linux/ptrace centric;
>> the'll need to be cleaned up
>>
>> -> many of the methods, such as frysk.proc.Task.sendContinue, being
>> ptrace specific (they do not apply to a corefile proc), can be moved
>> to more specific packages
>>
>> -> rather than split along the lines of "corefile" and "ptrace", a
>> better split might be "dead" (you can query a dead proc) and "live"
>> (or stateful) (you can observe a live proc), re-consider that once the
>> more pressing issues are addressed
>>
>> I'll be continuing with this.
>>
>> Andrew
>>
>>     
>
>   

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ongoing frysk.proc.ptrace refactoring
  2007-05-22 14:45 ` Chris Moller
  2007-05-22 15:10   ` Andrew Cagney
@ 2007-05-22 16:32   ` Chris Moller
  2007-05-22 17:08     ` Andrew Cagney
  2007-05-22 22:44     ` Phil Muldoon
  1 sibling, 2 replies; 6+ messages in thread
From: Chris Moller @ 2007-05-22 16:32 UTC (permalink / raw)
  To: Chris Moller; +Cc: Andrew Cagney, frysk

[-- Attachment #1: Type: text/plain, Size: 1793 bytes --]

I just committed this stuff.  You should be able to drop
MemorySpaceByteBuffer in as a replacement for AddressSpaceByteBuffer and
get a huge increase in performance in multi-word peeks.

Does anyone need high-speed multi-word pokes?  The StatelessFile class
supports that, but AddressSpaceByteBuffer doesn't, so I didn't include
it in MemorySpaceByteBuffer.  If there's enough popular demand (>= 1
request), I'll hack it in.

Let me know if it blows up in your face...

cm

Chris Moller wrote:
> Andrew,
>
> I'd planned to add MemorySpaceByteBuffer.java and commit a few changes
> to TestByteBuffer.java in frysk-core/frysk/proc/ptrace later today--is
> that going to mung up the stuff you're doing?
>
> Chris
>
> Andrew Cagney wrote:
>   
>> Just a work-in-progress update:
>>
>> While I've finished restructuring the target specific frysk.proc code
>> into separate frysk.proc.corefile, frysk.proc.dummy and
>> frysk.proc.ptrace packages there's still a ways to go as the
>> refactoring has helped clarify several additional problems with the
>> current code:
>>
>> -> frysk.proc.Proc and frysk.proc.Task seem to have gained a number of
>> fields, such as Task.sig_send, that are very Linux/ptrace centric;
>> the'll need to be cleaned up
>>
>> -> many of the methods, such as frysk.proc.Task.sendContinue, being
>> ptrace specific (they do not apply to a corefile proc), can be moved
>> to more specific packages
>>
>> -> rather than split along the lines of "corefile" and "ptrace", a
>> better split might be "dead" (you can query a dead proc) and "live"
>> (or stateful) (you can observe a live proc), re-consider that once the
>> more pressing issues are addressed
>>
>> I'll be continuing with this.
>>
>> Andrew
>>
>>     
>
>   


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 251 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ongoing frysk.proc.ptrace refactoring
  2007-05-22 16:32   ` Chris Moller
@ 2007-05-22 17:08     ` Andrew Cagney
  2007-05-22 22:44     ` Phil Muldoon
  1 sibling, 0 replies; 6+ messages in thread
From: Andrew Cagney @ 2007-05-22 17:08 UTC (permalink / raw)
  To: Chris Moller; +Cc: frysk

Chris,

Good question.  The existing code-observer code modifies memory by 
inserting small breakpoint instructions (1 byte on i386, 4 bytes on PPC 
and 8 bytes? on ia64) and going forward will write slightly larger 
chunks (~16 bytes) so efficiency there may be helpful.  Beyond that, 
however, no existing code is attempting large memory writes so 
justification for the change is absent.

Andrew

Chris Moller wrote:
> I just committed this stuff.  You should be able to drop
> MemorySpaceByteBuffer in as a replacement for AddressSpaceByteBuffer and
> get a huge increase in performance in multi-word peeks.
>
> Does anyone need high-speed multi-word pokes?  The StatelessFile class
> supports that, but AddressSpaceByteBuffer doesn't, so I didn't include
> it in MemorySpaceByteBuffer.  If there's enough popular demand (>= 1
> request), I'll hack it in.
>
> Let me know if it blows up in your face...
>
> cm
>
> Chris Moller wrote:
>   
>> Andrew,
>>
>> I'd planned to add MemorySpaceByteBuffer.java and commit a few changes
>> to TestByteBuffer.java in frysk-core/frysk/proc/ptrace later today--is
>> that going to mung up the stuff you're doing?
>>
>> Chris
>>
>> Andrew Cagney wrote:
>>   
>>     
>>> Just a work-in-progress update:
>>>
>>> While I've finished restructuring the target specific frysk.proc code
>>> into separate frysk.proc.corefile, frysk.proc.dummy and
>>> frysk.proc.ptrace packages there's still a ways to go as the
>>> refactoring has helped clarify several additional problems with the
>>> current code:
>>>
>>> -> frysk.proc.Proc and frysk.proc.Task seem to have gained a number of
>>> fields, such as Task.sig_send, that are very Linux/ptrace centric;
>>> the'll need to be cleaned up
>>>
>>> -> many of the methods, such as frysk.proc.Task.sendContinue, being
>>> ptrace specific (they do not apply to a corefile proc), can be moved
>>> to more specific packages
>>>
>>> -> rather than split along the lines of "corefile" and "ptrace", a
>>> better split might be "dead" (you can query a dead proc) and "live"
>>> (or stateful) (you can observe a live proc), re-consider that once the
>>> more pressing issues are addressed
>>>
>>> I'll be continuing with this.
>>>
>>> Andrew
>>>
>>>     
>>>       
>>   
>>     
>
>   

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ongoing frysk.proc.ptrace refactoring
  2007-05-22 16:32   ` Chris Moller
  2007-05-22 17:08     ` Andrew Cagney
@ 2007-05-22 22:44     ` Phil Muldoon
  1 sibling, 0 replies; 6+ messages in thread
From: Phil Muldoon @ 2007-05-22 22:44 UTC (permalink / raw)
  To: Chris Moller; +Cc: Andrew Cagney, frysk

Chris Moller wrote:
> I just committed this stuff.  You should be able to drop
> MemorySpaceByteBuffer in as a replacement for AddressSpaceByteBuffer and
> get a huge increase in performance in multi-word peeks.
>   

If no-one objects, can it be used in ptrace/LinuxTask.sendrecMemory () 
instead of AddressSpace?

Regards

Phil

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-05-22 17:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-22 14:38 ongoing frysk.proc.ptrace refactoring Andrew Cagney
2007-05-22 14:45 ` Chris Moller
2007-05-22 15:10   ` Andrew Cagney
2007-05-22 16:32   ` Chris Moller
2007-05-22 17:08     ` Andrew Cagney
2007-05-22 22:44     ` Phil Muldoon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).