Re: sinval synchronization considered harmful
От | Noah Misch |
---|---|
Тема | Re: sinval synchronization considered harmful |
Дата | |
Msg-id | 20110726214123.GD17857@tornado.leadboat.com обсуждение исходный текст |
Ответ на | Re: sinval synchronization considered harmful (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: sinval synchronization considered harmful
|
Список | pgsql-hackers |
On Tue, Jul 26, 2011 at 05:05:15PM -0400, Tom Lane wrote: > Noah Misch <noah@2ndQuadrant.com> writes: > > That's the theoretical risk I wished to illustrate. Though this appears > > possible on an abstract x86_64 system, I think it's unrealistic to suppose that > > a dirty cache line could persist *throughout* the issuance of more than 10^9 > > invalidation messages on a concrete implementation. > > Dirty cache line, maybe not, but what if the assembly code commands the > CPU to load those variables into CPU registers before doing the > comparison? If they're loaded with maxMsgNum coming in last (or at > least after resetState), I think you can have the problem without any > assumptions about cache line behavior at all. You just need the process > to lose the CPU at the right time. True. If the compiler places the resetState load first, you could hit the anomaly by "merely" setting a breakpoint on the next instruction, waiting for exactly MSGNUMWRAPAROUND messages to enqueue, and letting the backend continue. I think, though, we should either plug that _and_ the cache incoherency case or worry about neither. -- Noah Misch http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: