Re: atomic read write

2022-03-11 Thread Laurence Tratt
On Fri, Mar 11, 2022 at 09:33:29AM +0100, Mark Kettenis wrote: Hello Mark, Unfortunately this transformation almost certainly isn't safe: for example, the non-atomic load can return values that were never written by any thread (e.g. due to load/store tearing amongst other fun

Re: atomic read write

2022-03-11 Thread Mark Kettenis
> Date: Thu, 10 Mar 2022 23:09:59 + > From: Laurence Tratt > > On Fri, Mar 11, 2022 at 09:00:57AM +1000, David Gwynne wrote: > > Hello David, > > >> Unfortunately this transformation almost certainly isn't safe: for > >> example, the non-atomic load can return values that were never

slow xrandr / DRM_IOCTL_MODE_GETCONNECTOR

2022-03-11 Thread Stuart Henderson
This isn't new and not sure if there is anything that can be done but it annoyed me again so I thought I'd mention it to see if anyone has ideas. Machine is X1Y4 (UHD Graphics 620; COFFEELAKE, gen 9). Displays are the built-in LCD and DP-1 which is on a USB-C to HDMI hub. If xrandr is run while

Re: atomic read write

2022-03-11 Thread Alexander Bluhm
On Fri, Mar 11, 2022 at 05:32:11AM +, Visa Hankala wrote: > On Thu, Mar 10, 2022 at 07:17:43PM +0100, Alexander Bluhm wrote: > > On Thu, Mar 10, 2022 at 04:39:49PM +0100, Alexander Bluhm wrote: > > > > Below is a patch that shows how to accomplish release semantics with > > > > the file and

Re: atomic read write

2022-03-11 Thread Marc Espie
I've been reading the newer C standard (n2310.pdf to be specific). That thing is scary. I believe that, in the long haul, we will have to use the Atomic types stuff that's apparently part of the C standard now. Yeah, the switch to multi-threading made the standard way more complicated. Sequence

Re: ssh: xstrdup(): use memcpy(3)

2022-03-11 Thread Todd C . Miller
On Wed, 09 Mar 2022 19:20:08 -0600, Scott Cheloha wrote: > The strdup(3) implementation in libc uses memcpy(3), not strlcpy(3). > > There is no upside to using strlcpy(3) here if we know the length of > str before we copy it to the destination buffer. Sure, using memcpy() here is fine since the

Re: ipsec acquire mutex refcount

2022-03-11 Thread Hrvoje Popovski
On 9.3.2022. 21:02, Hrvoje Popovski wrote: > On 9.3.2022. 19:14, Alexander Bluhm wrote: >> Hi, >> >> Hrvoje has hit a crash with IPsec acquire while testing the parallel >> ip forwarding diff. Analysis with sashan@ concludes that this part >> is not MP safe. Mutex and refcount should fix the

Re: in pcb table mutex

2022-03-11 Thread Alexander Bluhm
Regress tested with witness, rebased to current, anyone? On Wed, Mar 02, 2022 at 07:13:09PM +0100, Alexander Bluhm wrote: > Hi, > > pf_socket_lookup() calls in_pcbhashlookup() in the PCB layer. So > to run pf in parallel we must make parts of the stack MP safe. > Protect the list and hashes in

Re: atomic read write

2022-03-11 Thread Visa Hankala
On Fri, Mar 11, 2022 at 11:51:31AM +0100, Alexander Bluhm wrote: > On Fri, Mar 11, 2022 at 05:32:11AM +, Visa Hankala wrote: > > On Thu, Mar 10, 2022 at 07:17:43PM +0100, Alexander Bluhm wrote: > > > On Thu, Mar 10, 2022 at 04:39:49PM +0100, Alexander Bluhm wrote: > > > > > Below is a patch