Small correction in-line.

        Wietse

Wietse Venema:
> Wietse Venema:
> > > How do I fix the system's ZERO-DELAY timer?
> > 
> > I can write a small test program. If it reproduces the problem,
> > then there are two things that need to be done.
> > 
> > 1) The program needs to be sent to VMware as part of a bug report.
> > 
> > 2) We can try to program around this bug until the vendor fixes
> > it.  Perhaps some system configuration will suffice. For example,
> > many virtualization systems emulate a number of "hardware" timers
> > such as ACPI, TSC etc.  and some emulations may be less buggy.
> > 
> > But first, you need to get some recent Postfix source code on the
> > machine so that we can do some quick tests.  There is no need to
> > overwrite the installed Postfix.
> 
> Attached is a small test program, to be run in the virtual machine. 
> 
> Please save as postfix-x.x-yyyymmdd/src/util/zero_delay.c where
> postfix-x.x-yyyymmdd is the top-level directory from a recent
> Postfix release (2.4 or later).
> 
> Then,
> 
>     cd postfix-x.x-yyyymmdd
>     make
>     (get some coffee)
>     cd src/util
>     make zero_delay | sed 's/$/ libutil/a' | sh

Grr. That should be:

        make -n zero_delay | sed 's/$/ libutil.a/' | sh

I pasted the wrong command line.

> The result is a test program zero_delay, to be run as:
> 
>     ./zero_delay
> 
> It should run for 10-20 seconds or so then terminate with
> 
>     normal completion after 1000000 iterations
> 
> If instead it terminates with
> 
>     timer event lost after N iterations
> 
> then you have found the timer bug that causes Postfix to deliver
> only one message probe per 300 seconds, and we can start looking
> for workarounds (such as changing the src/util/events.c module and
> replacing zero delay requests by 1 millisecond delay requests).
> 
>       Wietse

[ Attachment, skipping... ]

Reply via email to