From: Michael Snyder <msnyder@vmware.com>
To: Hui Zhu <teawater@gmail.com>
Cc: gdb-patches ml <gdb-patches@sourceware.org>
Subject: Re: [PREC/RFA] Add not_replay to make precord support release memory better
Date: Sat, 25 Jul 2009 20:56:00 -0000 [thread overview]
Message-ID: <4A6B6E02.5080702@vmware.com> (raw)
In-Reply-To: <daef60380907232010ld117bfg7ee354e03aa3dc3c@mail.gmail.com>
Hui Zhu wrote:
> On Fri, Jul 24, 2009 at 10:10, Michael Snyder<msnyder@vmware.com> wrote:
>> 1) During the recording "pass", there's no change.
>> 2) During the reverse-replay pass, if the memory is
>> not readable or writable, we will set this flag to TRUE.
>> 3) Finally, during the forward-replay pass, if the flag
>> has previously been set to TRUE, we will skip this entry
>> (and set the flag to FALSE.)
>>
>> So my question is -- is there any reason to set it to FALSE here?
>> Is there any way that the memory can ever become readable again?
>>
>> Seems to me, once it is set TRUE, we might as well just leave it TRUE.
>> Am I right?
>
> I thought about it too. I think if we don't need this entry. We can
> delete it directly.
> But there is a special status, after release memory, inferior alloc
> some memory and its address is same with the memory that released
> memory. Then the memory entry will can be use in this status. User
> can get the right value of memory before this entry. So I think maybe
> we can keep it.
>
> What do you think about it?
Let's say a program does something like this:
buf = mmap (...);
munmap (...);
buf = mmap (...);
munmap (...);
buf = mmap (...);
and so on. And suppose that, for whatever reason, mmap always
returns the same address.
Then it seems to me (and please correct me if I am wrong), that
it all depends on where we stop the recording.
If we stop the recording after mmap, but before munmap, then
the memory will be readable throughout the ENTIRE recording.
But if we stop the recording after munmap, but before mmap, then
the memory will NOT be readable (again for the entire recording).
So as you replay backward and forward through the recording, the
readability state of the memory location will never change -- it
will remain either readable, or unreadable, depending only on
the mapped-state when the recording ended.
The only way for it to change, I think, would be if we could
resume the process and add some more execution to the end of
the existing recording.
next prev parent reply other threads:[~2009-07-25 20:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-21 15:39 Hui Zhu
2009-07-24 11:31 ` Michael Snyder
2009-07-24 13:00 ` Hui Zhu
2009-07-25 20:56 ` Michael Snyder [this message]
2009-07-27 16:18 ` Hui Zhu
2009-08-01 23:01 ` Michael Snyder
2009-08-02 4:11 ` Hui Zhu
2009-08-03 3:51 ` Hui Zhu
2009-08-03 5:02 ` Michael Snyder
2009-08-03 5:19 ` Hui Zhu
2009-08-03 17:31 ` Michael Snyder
2009-08-04 1:50 ` Hui Zhu
2009-08-04 18:19 ` Michael Snyder
2009-08-05 1:26 ` Hui Zhu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A6B6E02.5080702@vmware.com \
--to=msnyder@vmware.com \
--cc=gdb-patches@sourceware.org \
--cc=teawater@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox