Commit Graph

70 Commits (4d10172d8b2c72fa809e322a3b4ff326b19ff340)

Author SHA1 Message Date
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Cinder 6df6aef621 OPEN-282 - Define LL_THREAD_LOCAL for our platforms in order to unify TLS support 2014-11-19 22:27:36 -07:00
Cinder 5f608c0a23 OPEN-282 Use pthreads for TLS on mac 2014-11-19 08:01:28 -07:00
Richard Linden 80b4a4a1f5 merge with release 2014-02-24 18:45:59 -08:00
Richard Linden 5df86c9a6e fix for heap corruption crash on shutdown
don't set stopped flag until recorder object has been deleted
2014-01-30 19:35:34 -08:00
Richard Linden 1522c1b3bd SH-4653 FIX Interesting: Viewer crashes while reading chat history
fix for crash on exit resulting from 8c0e024d0c33
2013-12-10 15:48:57 -08:00
Richard Linden 0b40ee53e3 BUILDFIX: bad use of non static member 2013-12-10 14:04:09 -08:00
Richard Linden d4f3fe3c56 SH-4653 FIX Interesting: Viewer crashes while reading chat history 2013-12-10 12:50:23 -08:00
Richard Linden 6b84d40558 added some comments and changed calls from get_master_thread_recorder()
over to get_thread_recorder() to be agnostic about which thread we're running on
2013-12-05 21:58:45 -08:00
Richard Linden 7f67e1d4a4 fixed legacy usage of llendl 2013-10-11 10:42:32 -07:00
Richard Linden 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07:00
Monty Brandenberg 6f5790da38 Merge. Pull in viewer-release after 3.6.7 release. 2013-10-04 15:36:52 -04:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Monty Brandenberg 0d93247359 SH-4411 Thread/mutex rework between main and worker thread
Have the ::notifyLoadedMeshes() method doing correct locking
and stall avoidance at the same time.  This method now does
lazy mutex lock acquisition (trylock()) and if it fails on
either, it gives up and comes back later.  Capture the maximum
number of sequential failures and report this at the end of
the run in the log.  (So far, with big mesh regions, I've
only seen 1s and 2s.)  Locking/mutex requirements sorted in
other locations as well.  LLMutex gets trylock() method as
well as new LLMutexTrylock scoped locking class.  Clean up
some documentation, more to do.
2013-08-06 18:05:34 -04:00
Richard Linden 862cdf3061 SH-4297 WIP interesting: viewer-interesting starts loading cached scene late
fixed ostream precision munging in llsys
2013-07-18 15:08:46 -07:00
Richard Linden 11e14cd3b0 SH-4299Interesting: High fps shown temporarily off scale in statistics console
various fixes to lltrace
start() on started recording no longer resets
fixed various instances of unit forgetfullness in lltrace
recording split now has gapless timing
scene monitor now guarantees min sample time
renamed a bunch of stats
added names to debug thread view on windows
2013-07-15 11:05:57 -07:00
Richard Linden 04bdc8ba83 SH-4294 FIX Interesting: Statistics Texture cache hit rate is always 0%
also, removed LLTrace::init and cleanup
removed derived class implementation of memory stat for LLMemTrackable
is automatic now
2013-07-01 17:04:01 -07:00
Richard Linden 2fc422f39d fixed memory leak due to implementation of LLThreadLocalSingleton
removed LLThreadLocalSingleton
collapsed all thread recorder classes to single type, LLTrace::ThreadRecorder
moved fasttimer stack head to llthreadlocalsingletonpointer via ThreadRecorder
2013-06-30 13:32:34 -07:00
Richard Linden 8bddaeec66 fixed scene load monitor resetting to eagerly due to spurious camer amotion
pulled swap() out of ui time block
cleaned up internal lltrace dependencies, factored out common accumulator definitions
2013-06-22 12:00:18 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Richard Linden 9ae76d1215 SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
fixed copy construction behavior of Recordings to not zero out data
split measurement into event and sample, with sample representing
a continuous function
2013-05-29 17:00:50 -07:00
simon ee2fce8790 Merge downstream code and viewer-beta 2013-05-09 14:10:45 -07:00
simon 6742d90d39 Some minor cleanups while hunting crashes. Reviewed by Kelly 2013-04-17 11:17:46 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Graham Madarasz (Graham) ae1aa461ea Attempt at a faster ThreadSafeRefCount class 2013-02-28 16:37:09 -08:00
Richard Linden 68967e7b2b SH-3406 WIP convert fast timers to lltrace system
changed thread id declaration to be local to llthread.cpp and use
currentID() uniformly across platforms
2012-12-05 14:22:18 -08:00
Richard Linden 5d51175cd7 SH-3406 WIP convert fast timers to lltrace system
fixes to merge
2012-11-20 15:55:04 -08:00
Richard Linden c0224cc47a merge with viewer-development 2012-11-19 19:06:36 -08:00
Richard Linden 74ac0182ec SH-3405 WIP convert existing stats to lltrace system
fixed units conversion so that trace getters return convertable units
removed circular dependencies from lltrace*
converted more stats to lltrace
2012-10-10 19:25:56 -07:00
Richard Linden dbe9742703 SH-3404 create sampler class
renamed LLTrace::ThreadTrace to LLTrace::ThreadRecorder
renamed LLTrace::Sampler to LLTrace::Recording
2012-10-02 15:37:16 -07:00
Richard Linden 14b1b0b2bb SH-3275 WIP Run viewer metrics for object update messages
cleaned up API
samplers are now value types with copy-on-write buffers under the hood
removed coupling with LLThread
2012-10-01 19:39:04 -07:00
Richard Linden 38354e1906 SH-3275 WIP Run viewer metrics for object update messages
created separate constructor for static allocation of sampler buffer
fixed start/stop/resume semantics of samplers and added sampler time interval tracking
2012-09-28 10:45:14 -07:00
Richard Linden 07c4be092b SH-3275 WIP Run viewer metrics for object update messages
slave threads now pushing data to master thread
2012-09-26 19:12:40 -07:00
Richard Linden 05a3203d82 SH-3275 WIP Run viewer metrics for object update messages
fixed various issues related to unit tests and LLThreadLocalPtr initialization and teardown
2012-09-26 17:04:57 -07:00
Richard Linden 308ff886c3 fixed build
moved LLThread::lockData and unlockData back to header
2012-09-24 19:01:48 -07:00
Richard Linden adeeabfc13 SH-3275 WIP Run viewer metrics for object update messages
moved LLThreadLocalPtr to llapr
fixed various startup race conditions for LLThreadLocalPtr
2012-09-24 18:56:01 -07:00
Richard Linden 735fde8c74 SH-3275 WIP Run viewer metrics for object update messages
added LLThreadLocalPtr
broke llmutex out into llmutex.h
got primary sampling buffer under thread local storage
2012-09-21 18:52:08 -07:00
Monty Brandenberg 0755cb098d Merge. Refresh DRTVWR-209 with 3.4.2-beta1 code.
Two fairly simple conflicts:  dead stats sending code in the
texture fetch code (new llcorehttp library) and the cleanup
code in llappviewer was moved around in 3.4.x.
2012-11-07 13:28:42 -05:00
Dave Parks 374f20edf0 Fix non-thread-safe refcounting of LLHTTPClient::Responder and fix out-of-order deletion of LLTextureFetch on shutdown 2012-10-03 14:30:21 -05:00
Monty Brandenberg b08125a587 LLMutex recursive lock, global & per-request tracing, simple GET request, LLProxy support, HttpOptions starting to work, HTTP resource waiting fixed.
Non-LLThread-based threads need to do some registration or LLMutex locks taken out in these
threads will not work as expected (SH-3154).  We'll get a better solution later, this fixes
some things for now.  Tracing of operations now supported.  Global and per-request (via
HttpOptions) tracing levels of [0..3].  The 2 and 3 levels use libcurl's VERBOSE mode
combined with CURLOPT_DEBUGFUNCTION to stream high levels of detail into the log.  *Very*
laggy but useful.  Simple GET request supported (no Range: header).  Really just a
degenrate case of a ranged get but supplied an API anyway.  Global option to use the
LLProxy interface to setup CURL handles for either socks5 or http proxy usage.  This
isn't really the most encapsulated way to do this but a better solution will have to
come later.  The wantHeaders and tracing options are now supported in HttpOptions giving
per-request controls.  Big refactoring of the HTTP resource waiter in lltexturefetch.
What I was doing before wasn't correct.  Instead, I'm implementing the resource wait
after the Semaphore model (though not using system semaphores).  So instead of having
a sequence like:  SEND_HTTP_REQ -> WAIT_HTTP_RESOURCE -> SEND_HTTP_REQ, we now
do WAIT_HTTP_RESOURCE -> WAIT_HTTP_RESOURCE2 (actual wait) -> SEND_HTTP_REQ.  Works
well but the prioritized filling of the corehttp library needs some performance
work later.
2012-06-14 16:31:48 -04:00
Xiaohong Bao 9e6a5d7211 fix for SH-2823 and SH-2824: LLCurl crash inside LLBufferArray::countAfter() and LLBufferArray::copyIntoBuffers 2012-01-20 11:55:15 -07:00
Dave Parks e4a8ef4ce2 SH-2031 Cleanup from threaded curl implementation (remove errors/loops on shutdown). 2011-07-22 02:33:55 -05:00
Dave Parks d94117b80b SH-920 Wait for threads to shut down before deleting them -- also, fix some assertions that were encouraging people to comment out the destruction of LLSignal. 2011-02-09 20:06:46 -06:00
Loren Shih e0d77c277a Automated merge from mesh-development 2010-12-21 10:38:08 -05:00
Brad Payne (Vir Linden) 9a8dbb8520 SH-682 WIP: allow DEBUG_FAST_TIMER_THREADS to work when enabled 2010-12-17 14:13:07 -05:00
Loren Shih bfd8efb057 Automated merge up from viewer-development 2010-12-01 10:55:24 -05:00
Andrew A. de Laix 5c70975179 [mq]: thread_state_fix 2010-11-23 11:40:54 -08:00
Dave Parks 2772a77470 Don't use llwarns/llinfos from a background thread. 2010-11-19 16:59:35 -06:00
Andrew A. de Laix 830afa5b27 hacking mac updater to install from local dmg 2010-11-11 16:45:38 -08:00
Andrew A. de Laix 73b6d4d058 Fix crash if thread is manually shut down before it is destroyed. 2010-11-09 11:15:01 -08:00