Re: Linux futexes
On Sat, Jul 27, 2019 at 06:05:25AM -0700, Jason Thorpe wrote: > > > > On Jul 27, 2019, at 5:05 AM, Robert Swindells wrote: > > > > > > I don't think the Linux futex emulation code is correct/good enough. > > I have be on/off working on an updated futex implementation written by > Taylor, with the intent of making it a native call (in order to improve or > own semaphore and mutex implementations). You are correct in that the > current implementation is lacking. > > I will try to focus on finishing up the new implementation soon. But even > the stuff written by Taylor is a little lacking compared to what modern Linux > uses futexes for, so some additional work is going to be required. > Hi jason, it's probably good practice to share your own code in these circumstances. I believe it's https://github.com/thorpej/netbsd-src/tree/trc-jrt-futex
RFC: usb ethernet common code
hi folks. i recently fixed a bunch of problems in several usb ethernet drivers and there's a lot of copied code among them. to avoid this i wrote this patch which introduces a common library for usb ethernet drivers and converts if_axen.c to use it. these are the areas handled: - USB endpoint pipe handling - rx and tx chain handling - generic handlers or support for several struct ifnet callbacks - MII bus locking - interrupt handling - partial autoconf handling for if_axen.c, the code reduction is 1902 to 1166 lines, and i expect similiar savings for the other drivers as well. i plan to convert other drivers i have handy (cdce, ure, axe), but i'd like others with more network clue than i do to consider the interfaces i've implemented. some of them may seem ugly, but i was unable to see a better method without forcing less code sharing. https://www.netbsd.org/~mrg/usb_net.v15.diff there is one issue left to deal with: this will require that usb_net.c to be part of the base USB stack, or, fork this code into its own module and ensure all other modules have the right dependency. i haven't thought about this byeond assuming that itw ill be as simple as a usb_net module that other modules have as a dep. thanks. .mrg.