Commit Graph

1678 Commits

Author SHA1 Message Date
John Hurliman
3a1ee79ee4 Finally hunted down the Parallel deadlock. Packets were being handled asynchronously (filling up the threadpool with handlers), which would turn around and try to do parallel operations on the starved threadpool. The solution for now is to disable Parallel.cs operations until we can gracefully handle parallel operations with a potentially starved threadpool 2009-10-27 02:36:57 -07:00
John Hurliman
b498693cff * Tweak to region module loading to check for a matching constructor first instead of throwing and catching exceptions
* Commenting out the MySQL startup sequence that cleans out dropped attachments under the advice that it is no longer relevant. If anything, it could be brought back as a database cleanup console command
* Updated to the latest libomv 0.8.0-pre. UUID.TryParse() will no longer throw and catch exceptions for most failed UUID parses
2009-10-27 01:46:14 -07:00
John Hurliman
4847e62e9f * Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
2009-10-26 16:33:04 -07:00
John Hurliman
3639f68411 Added a missing reference to System.Core for OpenSim.Region.Framework 2009-10-25 01:20:54 -07:00
John Hurliman
a41cd1d069 * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system
* Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler
* Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
2009-10-23 13:14:29 -07:00
John Hurliman
4c45b5fd3c Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been removed and several new parameters have been added to [ClientStack.LindenUDP] 2009-10-23 10:35:47 -07:00
John Hurliman
62f1a5e36d Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you 2009-10-23 02:38:59 -07:00
John Hurliman
96d53f11e5 Added VS2010 support to Prebuild and created runprebuild2010.bat 2009-10-22 17:03:13 -07:00
John Hurliman
4121a02936 OpenSim.ini.example had the wrong names for default values in the [InterestManagement] section. Fixed 2009-10-22 10:15:28 -07:00
John Hurliman
2f394b7e7e * Allow SmartThreadPool to be initialized without setting max stack size (like the original implementation)
* Only initialize Util's SmartThreadPool if it is actually being used
* No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads."
2009-10-22 01:30:12 -07:00
Melanie
b35fbe1f98 Merge branch 'melanie_test' into prioritization
This makes SmartThreadPool configurable and also makes it the default, since
the regular thread pool simply stinks.
2009-10-22 07:02:21 +01:00
John Hurliman
32ccd5bb40 * Changed the misc. methods calling ThreadPool.UnsafeQueueUserWorkItem() to Util.FireAndForget()
* Changed Util.FireAndForget() to use any of five different methods set with async_call_method in the [Startup] section of OpenSim.ini. Look at the example config for possible values
2009-10-21 23:03:18 -07:00
Melanie
8ce4fd7234 Reduce the default pool threads to 15 (from 30) and the minimum from 5 to 2 2009-10-22 04:02:26 +01:00
Melanie
8a336c6860 Add MaxPoolThreads in startup to limit the size of the thread pool used
for FireAndForget. This lets us limit concurrency to make OpenSim play nice
2009-10-22 02:28:53 +01:00
John Hurliman
2b39ff0a39 Merged master into prioritization 2009-10-21 16:24:17 -07:00
Melanie
2a886fd76c Really make module port selection work. Implement port setting in
LLProxyLoginModule.
2009-10-21 02:19:45 +01:00
John Hurliman
fdce1be3db * Removed OpenSim.Data.NHibernate
* Replaced calls to ThreadPool.QueueUserWorkItem() with ThreadPool.UnsafeQueueUserWorkItem() since OpenSim does not use Code Access Security sandboxing
2009-10-19 16:52:27 -07:00
John Hurliman
a3f93cffb4 * Committing Nini.dll with the patch from #3773 applied
* Fixing a log message typo
2009-10-17 22:06:36 -07:00
Melanie
a9c88276f0 Merge branch 'master' into prioritization 2009-10-17 19:20:36 +01:00
Melanie
4302329bfa Change the example to match the facts 2009-10-17 19:19:49 +01:00
Melanie
077f473167 Merge branch 'master' into prioritization 2009-10-17 13:41:32 +01:00
Melanie
72b96bcd84 Add ProductName to RegionInfo (for search) 2009-10-17 13:36:45 +01:00
John Hurliman
5a4fda9dc3 Updating OpenSim.ini.example with the section required to enable a useful prioritization scheme 2009-10-16 11:09:18 -07:00
Justin Clark-Casey (justincc)
9ddf598e54 minor: Change commented out authentication service realm setting to "users" to match defaults in code 2009-10-15 18:54:05 +01:00
John Hurliman
fe4109a5b0 Merge branch 'htb-throttle' of ssh://opensimulator.org/var/git/opensim into htb-throttle 2009-10-14 16:48:42 -07:00
John Hurliman
06990b074c Allow the LLUDP server to run in either synchronous or asynchronous mode with a config setting, defaulting to synchronous mode 2009-10-14 16:48:27 -07:00
John Hurliman
82012ec4e3 * Clean up the SetThrottle() code and add a maxBurstRate parameter to allow more tweaking in the future 2009-10-14 16:21:48 -07:00
Melanie
6bdd6ae0a0 Merge branch 'master' into htb-throttle 2009-10-14 23:31:38 +01:00
John Hurliman
4b5a2f8c02 Merge branch 'htb-throttle' of ssh://opensimulator.org/var/git/opensim into htb-throttle 2009-10-14 11:44:17 -07:00
John Hurliman
0d2e6463d7 * Minimized the number of times textures are pulled off the priority queue
* OnQueueEmpty is still called async, but will not be called for a given category if the previous callback for that category is still running. This is the most balanced behavior I could find, and seems to work well
* Added support for the old [ClientStack.LindenUDP] settings (including setting the receive buffer size) and added the new token bucket and global throttle settings
* Added the AssetLoaderEnabled config variable to optionally disable loading assets from XML every startup. This gives a dramatic improvement in startup times for those who don't need the functionality every startup
2009-10-14 11:43:31 -07:00
Melanie
3795cface2 Enable LSL dialogs to display group names properly 2009-10-14 17:39:38 +01:00
Melanie
d83ace0d3b Merge branch 'master' into htb-throttle 2009-10-14 05:10:43 +01:00
Melanie
bf68dad643 0004246: [Patch] FlotsamAssetCache deep scan & cache
Thank you, mcortez.
2009-10-12 23:21:32 +01:00
Melanie
170d2c4660 Merge branch 'master' into htb-throttle 2009-10-12 15:25:42 +01:00
Diva Canto
36dcfd2b80 * Changed logic of enabling LLProxyLoginModule to follow the new style -- true/false on the name, rather than gridmode=true.
* Better error messages on Add/Remove clients.
2009-10-11 10:23:16 -07:00
John Hurliman
3a04d706c9 Fear the lockless LLUDP implementation! 2009-10-08 17:34:51 -07:00
Justin Clark-Casey (justincc)
46110b0195 change default ports for inventory and grid connectors in example .ini files to 8003 to match the ROBUST default
altered wiki page to reflect this
2009-10-05 20:18:35 +01:00
Diva Canto
e1112ff879 MOre streams closed. Corrected word in GridCommon.ini.example 2009-10-03 08:46:06 -07:00
Melanie
36c8d55827 Merge branch 'diva-textures-osgrid' 2009-10-03 00:03:09 +01:00
John Hurliman
332d3eb1bb * Removed code that is no longer used with Melanie's queue callback optimization
* Moved all priority queue access to helper functions to improve reliability and readability
* New version of CSJ2K.dll (from libomv source tree) that fixes a JPEG2000 comment decoding bug
2009-10-02 16:53:35 -07:00
Melanie
ce8974539e Merge branch 'master' into diva-textures 2009-10-02 19:03:22 +01:00
Diva Canto
2e1c76f836 Added a default for grid services in standalone. 2009-10-02 07:18:36 -07:00
Melanie
31d8cec0f8 Merge branch 'master' into diva-textures 2009-10-02 08:23:38 +01:00
Melanie
18a744cac1 Change texture sending to be driven by the queue empty event from the
packet queue, rather than a timer
2009-10-02 04:04:14 +01:00
John Hurliman
6e0c79b8fe * Rewrote LLImageManager to use a real priority queue and hold minimal state
* Rewrote the logic in J2KImage.RunUpdate()
* Added a default avatar texture (I made it myself)
2009-10-01 17:42:13 -07:00
Melanie
d0bf084da5 Remove the settings for the J2KDecoder, since they are now obsolete (thank god!) 2009-09-30 21:31:48 +01:00
John Hurliman
f56dc5fcda Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug Replacing openjpeg-dotnet decoding with managed CSJ2K decoding. Should be much more reliable, faster, and use less memory
* Re-added openjpeg-dotnet files since they are used elsewhere in OpenSim * Updated prebuild.xml with a reference to CSJ2K

* Renamed IJ2KDecoder and J2KDecoder member names to follow standard naming conventions * Removed j2kDecodeCache cruft and replaced it with the OpenSim cache system * Rewrote the default layer boundary algorithm to use percentages instead of an exponent * Switched from an infinite in-memory cache to an expiring cache (10 minute timeout) * Slightly quieted logging errors for failed texture decodes
2009-09-30 19:26:53 +01:00
Melanie
f908e32f62 Revert "Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug"
This reverts commit 22cc31135e.
2009-09-30 19:26:26 +01:00
John Hurliman
22cc31135e Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug
Replacing openjpeg-dotnet decoding with managed CSJ2K decoding. Should be much more reliable, faster, and use less memory

* Re-added openjpeg-dotnet files since they are used elsewhere in OpenSim * Updated prebuild.xml with a reference to CSJ2K
2009-09-30 18:42:45 +01:00
Diva Canto
b1d204802f Minor bug fixes. 2009-09-29 16:13:07 -07:00