On Thu, 2009-11-26 at 09:09 +0100, Fredrik Thulin wrote:
...
> >    Upon receiving Message 100-4, message 180-5, and message 200-7, YXA
> > creates a process, and then just passes the message to client and
> > server transaction.
> 
> Does it? I don't have the time to actually look it up, but my
> recollection is that a "message handler" process is created _after_ the
> transaction layer has decided that it has no ongoing transaction to pass
> the request (ACK or resend)/response to.
> 
> >    Is it better to find if the message is part of client/server
> > transaction first, if yes then just passes the message to the
> > corresponding transaction without spawning a process?
> 
> Perhaps. Not spawning a process means that some central process has to
> do a lot more processing, which will be sequential - read: become a
> bottleneck.

Thinking more of it, I'm sure you are right. And I was too =). A process
is spawned by the transport layer as soon as a message is received from
the network, to parallelize parsing and handling.

Without that, we would parse requests more or less sequential (per
transport+listening process), which would really not get the most out of
SMP machines.

/Fredrik


_______________________________________________
Yxa-devel mailing list
Yxa-devel@lists.su.se
https://lists.su.se/mailman/listinfo/yxa-devel

Reply via email to