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