[asterisk-dev] M9645: provide zaptel master timing to spans

Matthew Fredrickson creslin at digium.com
Wed May 2 12:15:30 MST 2007


On May 2, 2007, at 12:55 PM, Paul Cadach wrote:

> Tzafrir Cohen wrote:
>> I'd like to get your input regarding
>> http://bugs.digium.com/view.php?id=9645
>>
>> The patch adds an extra span method:
>>
>>  int (*sync_tick)(struct zt_span *span, int is_master);
>>
>> The zaptel sync master span will call it to any span (in which it is 
>> not
>> NULL) at each of its ticks.
>
> Is it better to have a call to such API every N (1000, 10000) ticks? 
> At least it will offload CPU processing, but still make channel driver 
> to be able to adapt its slave clocks according to zaptel's master 
> clocks.
>
> To be clear, when zaptel detects master clock change, it will 
> immediately call such callback to notify channel drivers about master 
> change event. Of course, it should pass its own tick counter to allow 
> channel drivers to adapt their clocks independedly on callback call 
> frequency. IMHO this should offload CPU/etc. but provide the same 
> behavior as Tzafrir suggests.
>
> Also, to perform card's clock source manipulation, you should collect 
> relatively high number of ticks to be accurate as possible, so I think 
> calling the callback often than one time per second is overkill.

Yes, I tend to agree with these observations.  Assuming the hardware 
does have support for timing adjustments such as this, 1000 times per 
second of timing update is most definitely overkill.

Matthew Fredrickson



More information about the asterisk-dev mailing list