Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-28 Thread Chuck Ebbert
On 06/25/2007 06:34 PM, Andi Kleen wrote: > On Tuesday 26 June 2007 00:05:17 Chuck Ebbert wrote: >> On 06/25/2007 05:38 PM, Loic Prylli wrote: >> >> [cc: Andi] >> >>> Processors synchronization in set_mtrr requires the .gate field >>> to be set after .count field is properly initialized. Without

Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-28 Thread Chuck Ebbert
On 06/25/2007 06:34 PM, Andi Kleen wrote: On Tuesday 26 June 2007 00:05:17 Chuck Ebbert wrote: On 06/25/2007 05:38 PM, Loic Prylli wrote: [cc: Andi] Processors synchronization in set_mtrr requires the .gate field to be set after .count field is properly initialized. Without an explicit

Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Loic Prylli
On 6/25/2007 6:34 PM, Andi Kleen wrote: > On Tuesday 26 June 2007 00:05:17 Chuck Ebbert wrote: > >> On 06/25/2007 05:38 PM, Loic Prylli wrote: >> >> [cc: Andi] >> >> >>> Processors synchronization in set_mtrr requires the .gate field >>> to be set after .count field is properly

Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Andi Kleen
On Tuesday 26 June 2007 00:05:17 Chuck Ebbert wrote: > On 06/25/2007 05:38 PM, Loic Prylli wrote: > > [cc: Andi] > > > Processors synchronization in set_mtrr requires the .gate field > > to be set after .count field is properly initialized. Without an explicit > > barrier, the compiler was

Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Chuck Ebbert
On 06/25/2007 05:38 PM, Loic Prylli wrote: [cc: Andi] > Processors synchronization in set_mtrr requires the .gate field > to be set after .count field is properly initialized. Without an explicit > barrier, the compiler was reordering those memory stores. That was sometimes > causing a processor

[PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Loic Prylli
Processors synchronization in set_mtrr requires the .gate field to be set after .count field is properly initialized. Without an explicit barrier, the compiler was reordering those memory stores. That was sometimes causing a processor (in ipi_handler) to see the .gate change and decrement .count

[PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Loic Prylli
Processors synchronization in set_mtrr requires the .gate field to be set after .count field is properly initialized. Without an explicit barrier, the compiler was reordering those memory stores. That was sometimes causing a processor (in ipi_handler) to see the .gate change and decrement .count

Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Chuck Ebbert
On 06/25/2007 05:38 PM, Loic Prylli wrote: [cc: Andi] Processors synchronization in set_mtrr requires the .gate field to be set after .count field is properly initialized. Without an explicit barrier, the compiler was reordering those memory stores. That was sometimes causing a processor (in

Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Andi Kleen
On Tuesday 26 June 2007 00:05:17 Chuck Ebbert wrote: On 06/25/2007 05:38 PM, Loic Prylli wrote: [cc: Andi] Processors synchronization in set_mtrr requires the .gate field to be set after .count field is properly initialized. Without an explicit barrier, the compiler was reordering

Re: [PATCH] MTRR: Fix race causing set_mtrr to go into infinite loop

2007-06-25 Thread Loic Prylli
On 6/25/2007 6:34 PM, Andi Kleen wrote: On Tuesday 26 June 2007 00:05:17 Chuck Ebbert wrote: On 06/25/2007 05:38 PM, Loic Prylli wrote: [cc: Andi] Processors synchronization in set_mtrr requires the .gate field to be set after .count field is properly initialized. Without an