On Jan 22, 2010, at 8:04 AM, Ivan Voras wrote:

On 01/22/10 16:55, Randall Stewart wrote:

If I read the comment at filt_umtxattach() correctly, in the best case you would need an extension to the kevent structure to add more fields like data & udata (for passing values back and forth between userland and kernel). I agree with this - it would be very convenient for some
future purposes (like file modification notification) if the kernel
filter could both accept and return a struct of data from/to the
userland.

Yeah, more arguments inside the kevent would allow me to add the
COND_CV_WAIT* where a lock and condition are passed
in as well... But I was hesitant to add more than was already there
since doing
so would cause ABI ripples that I did not want to face.

Yes, this should be done carefully; just adding more "data" and "udata" fields will postpone the problem to when someone else needs one more field to make his idea working - a memory blob should probably be the way to go.

I plan on committing this to head if I don't get strong "you idiot you
did it wrong" comments ;-)

Hmmm, something just occured to me: why did you name the event / filter "EVFILT_KQUEUE"? Why not something like "EVFILT_UMTX" or "EVFLT_COND"?


Yep.. has I am just sitting down to write my "super crusher" test case I realize .. what was I smoking when I said EVFILT_KQUEUE.. thats got to change.. I think maybe EVFILT_UMTX_COND is best.. UMTX might let you think
you could send in a lock or something else..



You said you didn't make the actual connection to the userland pthead_* API yet - how did you test it?

Actually I am using just raw umtx itself. For just quick testing a

_thr_umtx_wake((u_long *)addr, count);

Works..

Or one can even dig in and do the actual syscall..

_umtx_op().. but that requires a lot more arguments ;-)

I need to think on integrating it into pthread*.. but we actully
have at work our own mutex stuff for apps that is in user space and is
a bit faster (quite a bit)... and it uses the umtx stuff directly ;-)

R

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org "


------------------------------
Randall Stewart
803-317-4952 (cell)
803-345-0391(direct)

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to