Re: Linux futexes

2019-07-28 Thread maya
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

2019-07-28 Thread matthew green
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.