On Wed, Sep 17, 2014 at 7:45 AM, Andres Freund <and...@2ndquadrant.com> wrote: > I just tried this on my normal x86 workstation. I applied your lwlock > patch and ontop I removed most volatiles (there's a couple still > required) from xlog.c. Works for 100 seconds. Then I reverted the above > commits. Breaks within seconds: > master: > LOG: request to flush past end of generated WAL; request 2/E5EC3DE0, currpos > 2/E5EC1E60 > standby: > LOG: record with incorrect prev-link 4/684C3108 at 4/684C3108 > and similar. > > So at least for x86 the compiler barriers are obviously required and > seemingly working.
Oh, that's great. In that case I think I should go ahead and apply that patch in the hopes of turning up any systems where the barriers aren't working properly yet. Although it would be nice to know whether it breaks with *only* the lwlock.c patch. > I've attached the very quickly written xlog.c de-volatizing patch. I don't have time to go through this in detail, but I don't object to you applying it if you're confident you've done it carefully enough. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers