harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolay Kuznetsov" <nikolay.kuznet...@gmail.com>
Subject Re: [drlvm][threading] Is it safe to use hythread_suspend_all and hythread_resume_all?
Date Wed, 18 Oct 2006 14:31:34 GMT
On 10/18/06, Evgueni Brevnov <evgueni.brevnov@gmail.com> wrote:
> It seems we are not in sync.... I don't suggest changing current
> suspention scheme...I like it.... I'm talking about one particular
> case.....and still can't see any disadvantages in what I propose...

I'm really sorry that it turns like this, originally the was to questions:

1)  I found that hythread_suspend_all calls thread_safe_point_impl
inside. There is no assertion regarding thread's state upon entering
hythread_suspend_all. So it can be called in suspend disabled state
and nobody (at least me) expects to have a safe point during
hythread_suspend_all.

And I noticed that suspend_all intentionally, by design being called from
suspend_DISABLE_region, not like conditions for example where safepoints
are side effect.

2) Assume I need to suspend all threads in particular group. Ok I pass
that group to hythread_suspend_all. Later when all suspended threads
should be resumed I pass the same group to hythread_resume_all. But
threads were suspended group has changed. For example one new thread
was added to it. So the questions are. Is it acceptable to have such
"unsafe" functionality? Would it better to lock the group in
hythread_suspend_all and unlock it in hythread_resume_all.

We have relatively the same lock; thread iterator(one being created
during suspend_all) acquires tm_lock upon creation and releases it on
destroy. But while running JVMTI scenarios we faced with very simple
deadlock when tried to suspend threads from the one thread and
enumerate from the other. And currently we release that lock after
suspend and acquire it later upon enumeration. That's why I asked to
list scenarios for suspend_all before adding any additional lock even
on groups.

Once again, I'm really sorry for such a discussion.
   Nik.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message