Ilya, I am afraid you don't really understand atomic operation
semantics. You patch is largely wrong. Please don't play around with
atomic operations blindly unless you really understand what you are
doing.

Thanks,
xiaofeng

On Jan 20, 2008 7:24 AM, Ilya Berezhniuk (JIRA) <[EMAIL PROTECTED]> wrote:
>
>      [ 
> https://issues.apache.org/jira/browse/HARMONY-5395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>  ]
>
> Ilya Berezhniuk updated HARMONY-5395:
> -------------------------------------
>
>     Attachment: atomics.patch
>
> I've found in HARMONY-5304 that GC behavior is hardly depends on atomics 
> implementation.
>
> I gontinued playing with atomics. I corrected port_atomic_cas* functions for 
> linux and implemented cas32, and replaced all apr_atomic_cas* in GC_GEN with 
> port_atomic_cas* calls. This did not help with this bug - the hand still 
> appeared.
>
> Then I corrected several places in GC_GEN where atomic_cas* were used, and 
> test does not hang now.
> Probably this patch can lead to hangups in other tests/suites because of some 
> places where atomics are still used incorrectly.
>
> The patch I've got is in attachment.
> It is not complete yet - I did not correct Windows atomics in PORT, so the 
> patch is for Linux only.
>
> I'm going to correct Windows implementation too, and probably get rid of APR 
> atomics at all. It will involve atomic_inc, atomic_dec etc.
>
> BTW, these changes for Linux should improve atomics performance, because in 
> current environment APR atomics compiled into unefficient code with MOVs 
> under mutex.
>
> > [drlvm] vm.classloading.ClassCastTest hangs
> > -------------------------------------------
> >
> >                 Key: HARMONY-5395
> >                 URL: https://issues.apache.org/jira/browse/HARMONY-5395
> >             Project: Harmony
> >          Issue Type: Bug
> >          Components: DRLVM
> >         Environment: revision 612006 release mode
> > Linux x86_64
> >            Reporter: Andrey Yakushev
> >         Attachments: atomics.patch
>
> >
> >
> > [drlvm] vm.classloading.ClassCastTest stably hangs on first iteration
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>



-- 
http://xiao-feng.blogspot.com

Reply via email to