ae997fffee 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://opensimulator.org/git/opensim  
							
							
							
						 
						
							2013-07-18 02:28:36 -07:00  
				
					
						
							
							
								 
						
							
							
								6572847518 
								
							
								 
							
						 
						
							
							
								
								Added MinPoolThreads to ini [Startup] section to control SmartThreadPool.  
							
							
							
						 
						
							2013-07-18 02:28:07 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								6293614074 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of ssh://opensimulator.org/var/git/opensim  
							
							
							
						 
						
							2013-07-17 15:06:33 -07:00  
				
					
						
							
							
								 
						
							
							
								49b3b7ee83 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://opensimulator.org/git/opensim  
							
							
							
						 
						
							2013-07-17 15:06:25 -07:00  
				
					
						
							
							
								 
						
							
							
								fa2370b32e 
								
							
								 
							
						 
						
							
							
								
								Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:"  
							
							... 
							
							
							
							This reverts commit e46459ef21 
							
						 
						
							2013-07-17 15:05:36 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								fda91d93da 
								
							
								 
							
						 
						
							
							
								
								Revert "Didn't mean to commit this change in BlockingQueue.cs"  
							
							... 
							
							
							
							This reverts commit 0f5b616fb0 
							
						 
						
							2013-07-17 15:05:16 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								5495df7443 
								
							
								 
							
						 
						
							
							
								
								Revert "Do the same trick that dahlia did for Dequeue(timeout)"  
							
							... 
							
							
							
							This reverts commit af792bc7f2 
							
						 
						
							2013-07-17 15:04:12 -07:00  
				
					
						
							
							
								 
						
							
							
								52dc7b2a96 
								
							
								 
							
						 
						
							
							
								
								Revert "I confuse myself. Let's try this variable name instead."  
							
							... 
							
							
							
							This reverts commit 1d3deda10c 
							
						 
						
							2013-07-17 15:03:40 -07:00  
				
					
						
							
							
								 
						
							
							
								519dba9a69 
								
							
								 
							
						 
						
							
							
								
								Revert "Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager."  
							
							... 
							
							
							
							This reverts commit 5f95f4d78e 
							
						 
						
							2013-07-17 15:03:16 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								5f95f4d78e 
								
							
								 
							
						 
						
							
							
								
								Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager.  
							
							
							
						 
						
							2013-07-17 14:09:04 -07:00  
				
					
						
							
							
								 
						
							
							
								1d3deda10c 
								
							
								 
							
						 
						
							
							
								
								I confuse myself. Let's try this variable name instead.  
							
							
							
						 
						
							2013-07-17 13:26:15 -07:00  
				
					
						
							
							
								 
						
							
							
								af792bc7f2 
								
							
								 
							
						 
						
							
							
								
								Do the same trick that dahlia did for Dequeue(timeout)  
							
							
							
						 
						
							2013-07-17 13:23:29 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								0f5b616fb0 
								
							
								 
							
						 
						
							
							
								
								Didn't mean to commit this change in BlockingQueue.cs  
							
							
							
						 
						
							2013-07-17 12:02:00 -07:00  
				
					
						
							
							
								 
						
							
							
								2b8de2c404 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of ssh://opensimulator.org/var/git/opensim  
							
							
							
						 
						
							2013-07-17 11:19:56 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								8bad56cb46 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of ssh://opensimulator.org/var/git/opensim  
							
							
							
						 
						
							2013-07-16 17:53:49 -07:00  
				
					
						
							
							
								 
						
							
							
								d4720bd721 
								
							
								 
							
						 
						
							
							
								
								Added config var to fiddle with the Interval for the service throttle thread  
							
							
							
						 
						
							2013-07-16 17:53:05 -07:00  
				
					
						
							
							
								 
						
							
							
								9f129938c9 
								
							
								 
							
						 
						
							
							
								
								Attachments module only registers when enabled. This enables alternative attachments module implementations. All calls to Scene.AttachmentsModule are checking for null. Ideally, if we support disabling attachments then we need a null attachments module to register with the scene.  
							
							
							
						 
						
							2013-07-16 17:43:36 -07:00  
				
					
						
							
							
								 
						
							
							
								9f578cf0c8 
								
							
								 
							
						 
						
							
							
								
								Deleted a couple of verbose messages  
							
							
							
						 
						
							2013-07-16 17:18:11 -07:00  
				
					
						
							
							
								 
						
							
							
								0419852598 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of ssh://opensimulator.org/var/git/opensim  
							
							
							
						 
						
							2013-07-16 17:15:08 -07:00  
				
					
						
							
							
								 
						
							
							
								a006caabbc 
								
							
								 
							
						 
						
							
							
								
								Added IServiceThrottleModule.cs  
							
							
							
						 
						
							2013-07-16 17:06:54 -07:00  
				
					
						
							
							
								 
						
							
							
								99a600753e 
								
							
								 
							
						 
						
							
							
								
								Changed the name to ServiceThrottle/ServiceThrottleModule in order to reflect its more generic nature.  
							
							
							
						 
						
							2013-07-16 17:06:17 -07:00  
				
					
						
							
							
								 
						
							
							
								3fbd2c54bc 
								
							
								 
							
						 
						
							
							
								
								Eliminated the UserManagement/UserManagementModule throttle thread. Made the other one generic, taking any continuation.  
							
							
							
						 
						
							2013-07-16 17:04:32 -07:00  
				
					
						
							
							
								 
						
							
							
								cbc3576ee2 
								
							
								 
							
						 
						
							
							
								
								minor: Add warning method doc about possibly inconsistent results returned from BlockingQueue.Contains(), Count() and GetQueueArray()  
							
							
							
						 
						
							2013-07-16 23:14:53 +01:00  
				
					
						
							
							
								 
						
							
							
								50b8ab60f2 
								
							
								 
							
						 
						
							
							
								
								Revert "Revert "MSDN documentation is unclear about whether exiting a lock() block will trigger a Monitor.Wait() to exit, so avoid some locks that don't actually affect the state of the internal queues in the BlockingQueue class.""  
							
							... 
							
							
							
							This reverts commit 21a09ad3adhttp://msdn.microsoft.com/en-gb/library/vstudio/system.threading.monitor.exit%28v=vs.100%29.aspx 
so this should in theory make no difference, though mono implementation issues could possibly be coming into play. 
							
						 
						
							2013-07-16 23:00:07 +01:00  
				
					
						
							
							
								 
						
							
							
								21a09ad3ad 
								
							
								 
							
						 
						
							
							
								
								Revert "MSDN documentation is unclear about whether exiting a lock() block will trigger a Monitor.Wait() to exit, so avoid some locks that don't actually affect the state of the internal queues in the BlockingQueue class."  
							
							... 
							
							
							
							This reverts commit 42e2a0d66e 
							
						 
						
							2013-07-16 22:03:49 +01:00  
				
					
						
							
							
								 
						
							
							
								e0f0b88dec 
								
							
								 
							
						 
						
							
							
								
								In the pursuit of using less CPU: now trying to avoid blocking queues altogether. Instead, this uses a timer. No sure if it's better or worse, but worth the try.  
							
							
							
						 
						
							2013-07-16 13:01:39 -07:00  
				
					
						
							
							
								 
						
							
							
								6da50d34df 
								
							
								 
							
						 
						
							
							
								
								Actually use DoubleQueue in UserManagement/UserManagementModule  
							
							
							
						 
						
							2013-07-16 07:19:13 -07:00  
				
					
						
							
							
								 
						
							
							
								5a01ffa515 
								
							
								 
							
						 
						
							
							
								
								High CPU hunt: try a different blocking queue, DoubleQueue  
							
							
							
						 
						
							2013-07-16 07:15:14 -07:00  
				
					
						
							
							
								 
						
							
							
								6dd454240f 
								
							
								 
							
						 
						
							
							
								
								revert last commit which seems to conflict with DoubleQueue internals. The random crash might be in DoubleQueue instead. See  http://pastebin.com/XhNBNqsc  
							
							
							
						 
						
							2013-07-16 02:03:01 -07:00  
				
					
						
							
							
								 
						
							
							
								70aa77f520 
								
							
								 
							
						 
						
							
							
								
								add locking to internal queue in WebFetchInvDescModule; lack of which caused a random crash in a load test yesterday  
							
							
							
						 
						
							2013-07-16 01:31:09 -07:00  
				
					
						
							
							
								 
						
							
							
								42e2a0d66e 
								
							
								 
							
						 
						
							
							
								
								MSDN documentation is unclear about whether exiting a lock() block will trigger a Monitor.Wait() to exit, so avoid some locks that don't actually affect the state of the internal queues in the BlockingQueue class.  
							
							
							
						 
						
							2013-07-16 01:12:56 -07:00  
				
					
						
							
							
								 
						
							
							
								e8e073aa97 
								
							
								 
							
						 
						
							
							
								
								Simplify EventQueue cap setup so that it is also stat monitored.  
							
							... 
							
							
							
							Curiously, the number of requests received is always one greater than that shown as handled - needs investigation 
							
						 
						
							2013-07-16 00:05:45 +01:00  
				
					
						
							
							
								 
						
							
							
								eb14e5a175 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of ssh://opensimulator.org/var/git/opensim  
							
							
							
						 
						
							2013-07-15 23:28:02 +01:00  
				
					
						
							
							
								 
						
							
							
								1b7b664c86 
								
							
								 
							
						 
						
							
							
								
								Add request received/handling stats for caps which are served by http poll handlers.  
							
							... 
							
							
							
							This adds explicit cap poll handler supporting to the Caps classes rather than relying on callers to do the complicated coding.
Other refactoring was required to get logic into the right places to support this. 
							
						 
						
							2013-07-15 23:27:46 +01:00  
				
					
						
							
							
								 
						
							
							
								68fbf7eebb 
								
							
								 
							
						 
						
							
							
								
								Revert "Puts RequestImage (UDP) back to asyn -- CPU spike hunt"  
							
							... 
							
							
							
							This reverts commit b060ce96d9 
							
						 
						
							2013-07-15 12:34:10 -07:00  
				
					
						
							
							
								 
						
							
							
								687c1a420a 
								
							
								 
							
						 
						
							
							
								
								Guard against null ref  
							
							
							
						 
						
							2013-07-15 12:33:31 -07:00  
				
					
						
							
							
								 
						
							
							
								b060ce96d9 
								
							
								 
							
						 
						
							
							
								
								Puts RequestImage (UDP) back to asyn -- CPU spike hunt  
							
							
							
						 
						
							2013-07-15 12:05:31 -07:00  
				
					
						
							
							
								 
						
							
							
								864f15ce4d 
								
							
								 
							
						 
						
							
							
								
								Revert the revert  
							
							... 
							
							
							
							Revert "Trying to hunt the CPU spikes recently experienced."
This reverts commit ac73e70293 
							
						 
						
							2013-07-15 11:52:26 -07:00  
				
					
						
							
							
								 
						
							
							
								fbb01bd280 
								
							
								 
							
						 
						
							
							
								
								Protect against null requests  
							
							
							
						 
						
							2013-07-15 11:37:49 -07:00