Diva Canto
174105ad02
Fixed the stats in show client stats. Also left some comments with observations about AgentUpdates.
2013-07-21 09:00:27 -07:00
Diva Canto
18d5d8f5dd
Removed verbose debug from previous commit
2013-07-21 09:00:08 -07:00
Diva Canto
edafea6ae6
PollServiceRequestManager: changed the long poll from a Queue to a List. No need to dequeue and enqueue items every 1sec.
2013-07-21 08:59:48 -07:00
Justin Clark-Casey (justincc)
3a6acbcc14
furhter shorten CheckAgentUpdateSignificance(). No real perf impact.
2013-07-21 08:59:31 -07:00
Justin Clark-Casey (justincc)
866de53978
Remove some pointless code in CheckAgentUpdateSignificance()
2013-07-21 08:59:17 -07:00
Justin Clark-Casey (justincc)
61eda1f441
Make the check as to whether any particular inbound AgentUpdate packet is significant much earlier in UDP processing (i.e. before we pointlessly place such packets on internal queues, etc.)
...
Appears to have some impact on cpu but needs testing.
2013-07-21 08:58:55 -07:00
Justin Clark-Casey (justincc)
e5c677779b
Add measure of number of inbound AgentUpdates that were seen as significant to "show client stats" (i.e. sent on for further processing instead of being discarded)
...
Added here since it was the most convenient place
Number is in the last column, "Sig. AgentUpdates" along with percentage of all AgentUpdates
Percentage largely falls over time, most cpu for processing AgentUpdates may be in UDP processing as turning this off even earlier (with "debug lludp toggle agentupdate" results in a big cpu fall
Also tidies up display.
2013-07-21 08:58:39 -07:00
Justin Clark-Casey (justincc)
5a2d4d888c
Hack in console command "debug lludp toggle agentupdate" to allow AgentUpdate in packets to be discarded at a very early stage.
...
Enabling this will stop anybody from moving on a sim, though all other updates should be unaffected.
Appears to make some cpu difference on very basic testing with a static standing avatar (though not all that much).
Need to see the results with much higher av numbers.
2013-07-21 08:58:21 -07:00
Justin Clark-Casey (justincc)
66048e1a70
minor: provide user feedback in the log for now when udp in/out bound threads are started/stopped
2013-07-21 08:58:02 -07:00
Justin Clark-Casey (justincc)
3a476bf60c
Fix up a temporary debugging change from last commit which stopped "lludp stop out" from actually doing anything
2013-07-21 08:57:36 -07:00
Diva Canto
98d47ea428
Delay the enqueueing of non-longpoll requests for 100ms. No need to have these requests actively on the processing queue if it seems they're not ready.
2013-07-21 08:57:16 -07:00
Justin Clark-Casey (justincc)
63c42d6602
Do some simple queue empty checks in the main outgoing udp loop instead of always performing these on a separate fired thread.
...
This appears to improve cpu usage since launching a new thread is more expensive than performing a small amount of inline logic.
However, needs testing at scale.
2013-07-21 08:56:48 -07:00
Diva Canto
9041f4a056
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-07-19 20:27:49 -07:00
Diva Canto
c1705236c7
Fix HGTravelStore.migrations in SQLite (mantis #6709 )
2013-07-19 20:25:33 -07:00
Robert Adams
1d65b0d802
BulletSim: add position resetting for stationary avatars so they don't
...
move around when standing on a stationary object.
Create proper linkage between BSCharacter and its actor by generating
a UpdatedProperties event the same way BSPrim does.
2013-07-18 19:09:55 -07:00
Dan Lake
edef7472d1
Enable storing of environment settings in NullSimulationData
2013-07-18 13:33:50 -07:00
Diva Canto
b5062ae7ee
Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post requests timeout in 60 secs.
...
There's plenty of room for improvement in handling the EQs. Some other time...
2013-07-18 13:30:04 -07:00
Justin Clark-Casey (justincc)
d9d995914c
try Hacking in an AutoResetEvent to control the outgoing UDP loop instead of a continuous loop with sleeps.
...
Does appear to have a cpu impact but may need further tweaking
2013-07-18 12:28:02 -07:00
Diva Canto
71b1511db5
Revert "Revert "I confuse myself. Let's try this variable name instead.""
...
This reverts commit 52dc7b2a96
.
2013-07-18 12:25:47 -07:00
Diva Canto
a22a4db5ce
Revert "Revert "Do the same trick that dahlia did for Dequeue(timeout)""
...
This reverts commit 5495df7443
.
2013-07-18 12:25:22 -07:00
Diva Canto
552b85d33d
Revert "Revert "Putting the requests back in the queue while testing for count >0 is not the smartest move...""
...
This reverts commit 7127891957
.
2013-07-18 12:25:04 -07:00
Diva Canto
ad198a714c
Revert "Revert "Didn't mean to commit this change in BlockingQueue.cs""
...
This reverts commit fda91d93da
.
2013-07-18 12:24:43 -07:00
Diva Canto
9e35b069a4
Reverting the reverts I did yesterday. cpu-branch has now been
...
successfully tested, and I'm merging back those changes, which proved to
be good.
Revert "Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:""
This reverts commit fa2370b32e
.
2013-07-18 12:23:27 -07:00
Dan Lake
ae997fffee
Merge branch 'master' of git://opensimulator.org/git/opensim
2013-07-18 02:28:36 -07:00
Dan Lake
6572847518
Added MinPoolThreads to ini [Startup] section to control SmartThreadPool.
2013-07-18 02:28:07 -07:00
Justin Clark-Casey (justincc)
077be8b496
Fix what apepars to be a bug in DoubleQueue<T>.Enqueue(Queue<T> q, T data) where the q parmater is ignored and everyghig is always placed on m_lowQueue.
...
No actual impact presently since nothing ends up calling EnqueueHigh()
2013-07-18 01:23:33 +01:00
Diva Canto
6293614074
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-07-17 15:06:33 -07:00
Dan Lake
49b3b7ee83
Merge branch 'master' of git://opensimulator.org/git/opensim
2013-07-17 15:06:25 -07:00
Diva Canto
fa2370b32e
Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:"
...
This reverts commit e46459ef21
.
2013-07-17 15:05:36 -07:00
Dan Lake
f64f07e7c5
command line kick user now uses exact name match instead of substring search to avoid kicking the wrong user or multiple wrong users.
2013-07-17 15:05:30 -07:00
Diva Canto
fda91d93da
Revert "Didn't mean to commit this change in BlockingQueue.cs"
...
This reverts commit 0f5b616fb0
.
2013-07-17 15:05:16 -07:00
Diva Canto
7127891957
Revert "Putting the requests back in the queue while testing for count >0 is not the smartest move..."
...
This reverts commit f4317dc26d
.
2013-07-17 15:04:27 -07:00
Diva Canto
5495df7443
Revert "Do the same trick that dahlia did for Dequeue(timeout)"
...
This reverts commit af792bc7f2
.
2013-07-17 15:04:12 -07:00
Diva Canto
52dc7b2a96
Revert "I confuse myself. Let's try this variable name instead."
...
This reverts commit 1d3deda10c
.
2013-07-17 15:03:40 -07:00
Diva Canto
519dba9a69
Revert "Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager."
...
This reverts commit 5f95f4d78e
.
2013-07-17 15:03:16 -07:00
Diva Canto
5c54eb30ed
Revert "This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU."
...
This reverts commit 5232ab0496
.
2013-07-17 15:02:54 -07:00
Diva Canto
5232ab0496
This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU.
2013-07-17 14:36:55 -07:00
Diva Canto
5f95f4d78e
Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager.
2013-07-17 14:09:04 -07:00
Diva Canto
1d3deda10c
I confuse myself. Let's try this variable name instead.
2013-07-17 13:26:15 -07:00
Diva Canto
af792bc7f2
Do the same trick that dahlia did for Dequeue(timeout)
2013-07-17 13:23:29 -07:00
Diva Canto
f4317dc26d
Putting the requests back in the queue while testing for count >0 is not the smartest move...
2013-07-17 12:57:34 -07:00
Diva Canto
0f5b616fb0
Didn't mean to commit this change in BlockingQueue.cs
2013-07-17 12:02:00 -07:00
Diva Canto
2b8de2c404
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-07-17 11:19:56 -07:00
Diva Canto
e46459ef21
Cleared up much confusion in PollServiceRequestManager. Here's the history:
...
When Melanie added the web fetch inventory throttle to core, she made the long poll requests (EQs) effectively be handled on an active loop. All those requests, if they existed, were being constantly dequeued, checked for events (which most often they didn't have), and requeued again. This was an active loop thread on a 100ms cycle!
This fixes the issue. Now the inventory requests, if they aren't ready to be served, are placed directly back in the queue, but the long poll requests aren't placed there until there are events ready to be sent or timeout has been reached.
This puts the LongPollServiceWatcherThread back to 1sec cycle, as it was before.
2013-07-17 11:19:36 -07:00
Robert Adams
2c8bf4aaa6
BulletSim: fix small bug where everything looked like it was colliding
...
before the first simulator step.
2013-07-17 10:19:44 -07:00
Diva Canto
894554faf6
Removed the MapItems thread. Redirected the map items requests to the services throttle thread. Didn't change anything in how that processor is implemented, for better or for worse.
2013-07-16 20:28:48 -07:00
Diva Canto
9432f3c94d
Improvements to the ServiceThrottleModule: added a category and an itemid to the interface, so that duplicate requests aren't enqueued more than once.
2013-07-16 19:04:30 -07:00
Diva Canto
5f27aaa6dd
UserManagementModule: in the continuation, call the method that also looks up the cache, because the resource may be here in the meantime
2013-07-16 18:22:42 -07:00
Diva Canto
8bad56cb46
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-07-16 17:53:49 -07:00
Diva Canto
d4720bd721
Added config var to fiddle with the Interval for the service throttle thread
2013-07-16 17:53:05 -07:00