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 [email protected] https://lists.su.se/mailman/listinfo/yxa-devel
