Re: qlimit

Marcus Brinkmann <[email protected]>
Newsgroups gmane.os.hurd.devel.readers
Message-ID <[email protected]>
On Mon, Jun 24, 2002 at 01:11:54AM -0400, Roland McGrath wrote:
> > The handling of the notification ports is a bit annoying.  I had to
> > create a class and bucket and donate a service thread to retrieve the
> > kernels responses.
> 
> Why not just put the notification ports in the normal bucket and let the
> existing manage_multithread handle them?

I guess that would work, I just need to change the demuxer.  I think I
didn't think of it.
 
> I don't think there would be any harm in just using the protid port as the
> notify port.  The user could forge a mag-accepted notification, but that
> will just cause you to attempt another send and have it fail with
> MACH_SEND_NOTIFY_IN_PROGRESS.  Am I missing something?

I don't think it is harmful for the server if a user does that.  I am not
sure if it is 100% safe for the client in not losing any updates, but that's
not a problem for the server.

> > I am not sure what the destination port is here, if it is the client port
> > we try to send to, we have a problem.  Because a send-once notification
> > doesn't let us know which clients port died, so we can not find the correct
> > filemod_req structure belonging to this request.  
> 
> But we can use it as an alert to scan for dead names.  And there are very
> few to scan, only the ones in msg-accepted wait.  (Ports that are still on
> the active list we will notice next time there is a change and we get
> MACH_SEND_INVALID_DEST on the send attempt.)

Yes, I thought of that.  I have to put that in.

> > Without clients, the server needs 30s to process the find command, with
> > one client it needs 50s, with two clients it needs 53s.  I don't know why
> > it needs 20s more with one client attached.
> 
> That could be a little suspect, but OTOH the difference is removing a whole
> other task and all the context switches to and from it.

D'oh you are right.  Sometimes I need a can opener for my eyes to see such
things :)  I was not measuring the server time at all, but the real time of the
find task, which of course is affected by that.  That's good.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org [email protected]
Marcus Brinkmann              GNU    http://www.gnu.org    [email protected]
[email protected]
http://www.marcus-brinkmann.de
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.