看板 FB_smp 關於我們 聯絡資訊
On Thu, 28 Feb 2002, Matthew Dillon wrote: > :> > :> The cache appears to be there so select(), when it is getting ready > :> to return, can avoid traversing the list and removing the events that > :> have not occured. This results in a potentially stale si_pid because > :> now the process can exit without doing any further cleanups. > : > :Yes, this is why we must now walk the list when leaving select/poll. > : > :.. > :Anyhow, hope that clarifies. Any other ideas or improvements? > : > :Any idea on how we can avoid the list traversal at the end of > :select? > : > :-- > :-Alfred Perlstein [alfred@freebsd.org] > > Walking the whole list is one solution. Another would be to link > selinfo into a thread-based list (the thread it has been asigned to) > and just walk *that* list on exit in order to avoid having to lock > the entire descriptor list on every select(). I'm still not sure > which of these two approaches you are going for. > > I'm not sure how this would tie into KSE. It might not be efficient > to walk the list on thread-exit since KSE creates and drops threads > all the time. I need to add a generation number to threads. And possibly a TID (like PID) (maybe the same thing?) The TID would be just an incrementing number taken from a field in the proc. thus the full TID would be PID:TID It hasn't been needed yet, but I can see it coming.. > > -Matt > Matthew Dillon > <dillon@backplane.com> > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-smp" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message