[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Small question about zmailer

On Thu, Dec 23, 1999 at 12:50:03PM -0300, Edgardo Szulstein wrote:
> Hi
> As we have seen, zmailer manages one session per each channel/host
> combination in mail distribution. Is it possbile to increase this value, so
> that we'll be able to establish n sessions with each channel/host
> combination.

	No.  Entire internal machinery has been geared to optimize
	the  one-process/one-thread  paradigm.

	Although lately I have spent quite a while of my time to
	rework the scheduler so that doing it coherently *might* be
	possible.  ( I spotted cases where system clearly was running
	multiple processes on one thread, even so that multiple
	processes were processing *same* message.. And a few other
	abnormalities.. )

	Considering ways how to achieve that multi-process per thread:
	- thread-head needs a way to account the number of processes
	  in active service (an int)
	- processes in active service need to be chained together
	  (bidirectionally) to ease removing them from active work
	  gangs when whatever they were doing is completed.
	  (moving to other thread, or to idle..)
	- thread->proc pointer is then just root for that chain
	- Thread activation would need to start desired number of
	  processes - keeping in mind that it isn't usefull to start
	  more processes than there are items in the thread..
	  Possibly some lesser number of processes - like at most
	  half the number of items on the thread..
	  Start them afesh/pick processes from thread-group idle pool.

	... and a few other things I don't have a moment to think about

	But yes, now it definitely is a possible thing to do.
	Necessary framework exists mostly.

> Thanks in advance
> Edgardo Szulsztein
> Pert Consultores
> edgardo@pertsrl.com.ar

/Matti Aarnio