Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-30 Thread Jonas Malaco
On Tue, Mar 30, 2021 at 03:51:21AM -0700, Guenter Roeck wrote: > [ ... ] > > Then please explain why _this_ use of time_after() is wrong but all > others in the kernel are not. Also, please note that we are not > concerned with code generation by the compiler as long as the > generated code is cor

Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-30 Thread Guenter Roeck
On 3/29/21 11:27 PM, Jonas Malaco wrote: > On Mon, Mar 29, 2021 at 10:43:55PM -0700, Guenter Roeck wrote: >> On 3/29/21 8:16 PM, Jonas Malaco wrote: >>> On Mon, Mar 29, 2021 at 06:01:00PM -0700, Guenter Roeck wrote: On 3/29/21 5:21 PM, Jonas Malaco wrote: > On Mon, Mar 29, 2021 at 02:53:39

Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-29 Thread Jonas Malaco
On Mon, Mar 29, 2021 at 10:43:55PM -0700, Guenter Roeck wrote: > On 3/29/21 8:16 PM, Jonas Malaco wrote: > > On Mon, Mar 29, 2021 at 06:01:00PM -0700, Guenter Roeck wrote: > >> On 3/29/21 5:21 PM, Jonas Malaco wrote: > >>> On Mon, Mar 29, 2021 at 02:53:39PM -0700, Guenter Roeck wrote: > On Mon

Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-29 Thread Guenter Roeck
On 3/29/21 8:16 PM, Jonas Malaco wrote: > On Mon, Mar 29, 2021 at 06:01:00PM -0700, Guenter Roeck wrote: >> On 3/29/21 5:21 PM, Jonas Malaco wrote: >>> On Mon, Mar 29, 2021 at 02:53:39PM -0700, Guenter Roeck wrote: On Mon, Mar 29, 2021 at 05:22:01AM -0300, Jonas Malaco wrote: > To avoid a

Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-29 Thread Jonas Malaco
On Mon, Mar 29, 2021 at 06:01:00PM -0700, Guenter Roeck wrote: > On 3/29/21 5:21 PM, Jonas Malaco wrote: > > On Mon, Mar 29, 2021 at 02:53:39PM -0700, Guenter Roeck wrote: > >> On Mon, Mar 29, 2021 at 05:22:01AM -0300, Jonas Malaco wrote: > >>> To avoid a spinlock, the driver explores concurrent me

Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-29 Thread Guenter Roeck
On 3/29/21 5:21 PM, Jonas Malaco wrote: > On Mon, Mar 29, 2021 at 02:53:39PM -0700, Guenter Roeck wrote: >> On Mon, Mar 29, 2021 at 05:22:01AM -0300, Jonas Malaco wrote: >>> To avoid a spinlock, the driver explores concurrent memory accesses >>> between _raw_event and _read, having the former updat

Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-29 Thread Jonas Malaco
On Mon, Mar 29, 2021 at 02:53:39PM -0700, Guenter Roeck wrote: > On Mon, Mar 29, 2021 at 05:22:01AM -0300, Jonas Malaco wrote: > > To avoid a spinlock, the driver explores concurrent memory accesses > > between _raw_event and _read, having the former updating fields on a > > data structure while th

Re: [PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-29 Thread Guenter Roeck
On Mon, Mar 29, 2021 at 05:22:01AM -0300, Jonas Malaco wrote: > To avoid a spinlock, the driver explores concurrent memory accesses > between _raw_event and _read, having the former updating fields on a > data structure while the latter could be reading from them. Because > these are "plain" acces

[PATCH] hwmon: (nzxt-kraken2) mark and order concurrent accesses

2021-03-29 Thread Jonas Malaco
To avoid a spinlock, the driver explores concurrent memory accesses between _raw_event and _read, having the former updating fields on a data structure while the latter could be reading from them. Because these are "plain" accesses, those are data races according to the Linux kernel memory model (