Hi Vincent,

IMO it's not good to delay acks. It would be better to just check throughput
and not send message but only ack.

Vincent CHAVANIS wrote:

> Hi andreas,
> 
> The main problem with EMI thread is that actually
> we have a sender thread awakened
> when we need to ack an incoming message.
> This patch fixes the sleeping process when it is awakened.
> While throughtput is not entirely done, it will sleep until
> (last_mt_microtime + throughput < now) It actually works with 2 differents
> of our operators.
> 
> Here is an example : (during this second we tried to send 1 msg and at the
> same time receiving 21 instructions to ACK)
> 
> 2007-03-23 18:33:26.733 [31081] [46] DEBUG: EMI2[SMS_6]: QOS:
> last_mt_microtime:<1174671205.812181> now:<1174671206.733465> delay:<1.0
> 00000> 2007-03-23 18:33:26.733 [31081] [46] DEBUG: EMI2[SMS_6]: QOS:
> Traffic Policy exceeded, we need to sleep <0.078716>sec 2007-03-23
> 18:33:26.810 [31081] [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy
> exceeded, we need to sleep <0.001345>sec 2007-03-23 18:33:26.811 [31081]
> [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy exceeded, we need to sleep
> <0.000349>sec 2007-03-23 18:33:26.811 [31081] [46] DEBUG: EMI2[SMS_6]:
> QOS: Traffic Policy exceeded, we need to sleep <0.000327>sec 2007-03-23
> 18:33:26.811 [31081] [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy
> exceeded, we need to sleep <0.000307>sec 2007-03-23 18:33:26.811 [31081]
> [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy exceeded, we need to sleep
> <0.000288>sec 2007-03-23 18:33:26.811 [31081] [46] DEBUG: EMI2[SMS_6]:
> QOS: Traffic Policy exceeded, we need to sleep <0.000230>sec 2007-03-23
> 18:33:26.811 [31081] [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy
> exceeded, we need to sleep <0.000213>sec 2007-03-23 18:33:26.811 [31081]
> [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy exceeded, we need to sleep
> <0.000197>sec 2007-03-23 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]:
> QOS: Traffic Policy exceeded, we need to sleep <0.000180>sec 2007-03-23
> 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy
> exceeded, we need to sleep <0.000164>sec 2007-03-23 18:33:26.812 [31081]
> [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy exceeded, we need to sleep
> <0.000148>sec 2007-03-23 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]:
> QOS: Traffic Policy exceeded, we need to sleep <0.000132>sec 2007-03-23
> 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy
> exceeded, we need to sleep <0.000115>sec 2007-03-23 18:33:26.812 [31081]
> [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy exceeded, we need to sleep
> <0.000099>sec 2007-03-23 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]:
> QOS: Traffic Policy exceeded, we need to sleep <0.000083>sec 2007-03-23
> 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy
> exceeded, we need to sleep <0.000066>sec 2007-03-23 18:33:26.812 [31081]
> [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy exceeded, we need to sleep
> <0.000050>sec 2007-03-23 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]:
> QOS: Traffic Policy exceeded, we need to sleep <0.000034>sec 2007-03-23
> 18:33:26.812 [31081] [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy
> exceeded, we need to sleep <0.000017>sec 2007-03-23 18:33:26.812 [31081]
> [46] DEBUG: EMI2[SMS_6]: QOS: Traffic Policy exceeded, we need to sleep
> <0.000001>sec 2007-03-23 18:33:26.973 [31081] [46] DEBUG: EMI2[SMS_6]:
> QOS: Throughput detected, we need to sleep <1.000000>sec
> 
> 
> 
> 
> --
> Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
> Service Technique/Reseau - NOC
> Developpement SMS/MMS/Kiosques
> http://www.telemaque.fr/
> [EMAIL PROTECTED]
> 
>   ----- Original Message -----
>   From: Andreas Fink
>   To: Vincent CHAVANIS
>   Cc: [email protected]
>   Sent: Friday, March 23, 2007 8:24 PM
>   Subject: Re: [PATCH] - FIX - UCP/EMI Throttling MT v4.0
> 
> 
> 
> 
>   On 23.03.2007, at 17:37, Vincent CHAVANIS wrote:
> 
> 
>     Hi all
> 
> 
>     For those who are using my throttling EMI patch posted a few month ago
>     on this ML Here is an rare issue that can make the sending thread
>     waiting for lifetime.
> 
> 
>     The issue is reproductible when no MT is sent for a while so
>     'last_mt_microtime' is not initialized. We fix it at connect (UCP 60),
>     we will now initialize this variable to the current microtime.
> 
> 
>     2007-03-23 11:05:30.450 [12348] [53] DEBUG: EMI2[SMSC_8]: QOS:
>     Throughput detected, we need to sleep <1.000000>sec 2007-03-23
>     11:05:31.450 [12348] [53] DEBUG: EMI2[SMSC_8]: QOS: Sleeping Done.
>     2007-03-23 11:05:31.450 [12348] [53] DEBUG: EMI2[SMSC_8]: QOS:
>     last_mt_microtime:<3689911777816892928.000000> now:<1174644331.450592>
>     delay:<1.000000> 2007-03-23 11:05:31.450 [12348] [53] DEBUG:
>     EMI2[SMSC_8]: QOS: Traffic Policy exceeded, we need to sleep
>     <3689911776642248704.000000>sec 2007-03-23 12:30:41.659 [12348] [53]
>     DEBUG: EMI2[SMSC_8]: QOS: Traffic Policy exceeded, we need to sleep
>     <3689911776642243584.000000>sec 2007-03-23 12:30:52.730 [12348] [53]
>     DEBUG: EMI2[SMSC_8]: QOS: Traffic Policy exceeded, we need to sleep
>     <3689911776642243584.000000>sec 2007-03-23 12:30:55.739 [12348] [53]
>     DEBUG: EMI2[SMSC_8]: QOS: Traffic Policy exceeded, we need to sleep
>     <3689911776642243584.000000>sec 2007-03-23 12:30:57.244 [12348] [53]
>     DEBUG: EMI2[SMSC_8]: QOS: Traffic Policy exceeded, we need to sleep
>     <3689911776642243584.000000>sec 2007-03-23 12:30:59.261 [12348] [53]
>     DEBUG: EMI2[SMSC_8]: QOS: Traffic Policy exceeded, we need to sleep
>     <3689911776642243584.000000>sec
> 
> 
>     Vincent.
> 
> 
>     --
>     Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
>     Service Technique/Reseau - NOC
>     Developpement SMS/MMS/Kiosques
>     http://www.telemaque.fr/
>     [EMAIL PROTECTED]
>     <emi_patch_ack_v4.txt>
> 
> 
> 
> 
>   Does it actually work?
>   The reason why I ask this is because you simply sleep for a certain
>   delay when the throughput has been reached. the delay however might fall
>   short if someone wakes this thread in the meantime. I use that often in
>   my code to trigger another thread telling it that there is now something
>   to send. I'm not sure if EMI driver does that however.
> 
> 
>   The effect would be not sleeping that long which is probably just
>   increasing the throughput a bit.
> 
> 
>   Andreas Fink
> 
> 
>   Fink Consulting GmbH
>   Global Networks Schweiz AG
>   BebbiCell AG
> 
> 
>   ---------------------------------------------------------------
>   Tel: +41-61-6666330 Fax: +41-61-6666331  Mobile: +41-79-2457333
>   Address: Clarastrasse 3, 4058 Basel, Switzerland
>   E-Mail:  [EMAIL PROTECTED]
>   www.finkconsulting.com www.global-networks.ch www.bebbicell.ch
>   ---------------------------------------------------------------
>   ICQ: 8239353 MSN: [EMAIL PROTECTED] AIM: smsrelay Skype: andreasfink
>   Yahoo: finkconsulting SMS: +41792457333

-- 
Thanks,
Alex


Reply via email to