Commit Graph

34 Commits (9edad026f4494de1a6f02ecc3f477faa27a361ef)

Author SHA1 Message Date
Ansariel 06db7c626f Merge Firestorm LGPL 2017-10-11 17:58:16 +02:00
Ansariel 7c97b96d5d Merge viewer-neko 2017-08-30 20:00:53 +02:00
andreykproductengine c21b3bbacc MAINT-7739 Make LLOSInfo a Singleton 2017-08-25 20:26:25 +03:00
Nicky 985730a52c Merge. 2017-05-18 17:40:24 +02:00
Nat Goodspeed 52899ed62a DRTVWR-418, MAINT-6996: Rationalize LLMemory wrt 64-bit support.
There were two distinct LLMemory methods getCurrentRSS() and
getWorkingSetSize(). It was pointless to have both: on Windows they were
completely redundant; on other platforms getWorkingSetSize() always returned
0. (Amusingly, though the Windows implementations both made exactly the same
GetProcessMemoryInfo() call and used exactly the same logic, the code was
different in the two -- as though the second was implemented without awareness
of the first, even though they were adjacent in the source file.)

One of the actual MAINT-6996 problems was due to the fact that
getWorkingSetSize() returned U32, where getCurrentRSS() returns U64. In other
words, getWorkingSetSize() was both useless *and* wrong. Remove it, and change
its one call to getCurrentRSS() instead.

The other culprit was that in several places, the 64-bit WorkingSetSize
returned by the Windows GetProcessMemoryInfo() call (and by getCurrentRSS())
was explicitly cast to a 32-bit data type. That works only when explicitly or
implicitly (using LLUnits type conversion) scaling the value to kilobytes or
megabytes. When the size in bytes is desired, use 64-bit types instead.

In addition to the symptoms, LLMemory was overdue for a bit of cleanup.

There was a 16K block of memory called reserveMem, the comment on which read:
"reserve 16K for out of memory error handling." Yet *nothing* was ever done
with that block! If it were going to be useful, one would think someone would
at some point explicitly free the block. In fact there was a method
freeReserve(), apparently for just that purpose -- which was never called. As
things stood, reserveMem served only to *prevent* the viewer from ever using
that chunk of memory. Remove reserveMem and the unused freeReserve().

The only function of initClass() and cleanupClass() was to allocate and free
reserveMem. Remove initClass(), cleanupClass() and the LLCommon calls to them.

In a similar vein, there was an LLMemoryInfo::getPhysicalMemoryClamped()
method that returned U32Bytes. Its job was simply to return a size in bytes
that could fit into a U32 data type, returning U32_MAX if the 64-bit value
exceeded 4GB. Eliminate that; change all its calls to getPhysicalMemoryKB()
(which getPhysicalMemoryClamped() used internally anyway). We no longer care
about any platform that cannot handle 64-bit data types.
2017-05-02 10:51:18 -04:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nicky 5e83473542 Improve performance of LLMemoryInfo::loadStatsMap. When querying for process memory only, there is no need to make a potential expensive call into GetPerformanceInfo. 2015-02-26 11:24:56 +01:00
Richard Linden 612892b45a SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
continued conversion to units system
made units perform type promotion correctly and preserve type in arithmetic
e.g. can now do LLVector3 in units
added typedefs for remaining common unit types, including implicits
2013-08-18 22:30:27 -07:00
Richard Linden 25937040de SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
converted many values over to units system in effort to track down
source of 0 ping
2013-08-16 12:38:12 -07: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
Oz Linden 3bb708d706 merge up to latest viewer-development for merge to 3.5.2 2013-04-19 14:42:56 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Oz Linden 3b8092e31f add OS version string 2013-02-21 13:19:39 -05:00
Nat Goodspeed ed648b1f08 CHOP-753: Eliminate redundant array-of-pair-arrays in LLMemoryInfo.
(per Monty code review)
The notion of storing LLMemoryInfo data both as an LLSD::Map and an
LLSD::Array of pair arrays arose from a (possibly misguided) desire to
continue producing stats output into the viewer log in the same order it
always used to be produced. There is no evidence that anyone cares about the
order of those stats in the log; there is no other use case for preserving
order. At Monty's recommendation, eliminate generating and storing the
array-of-pair-arrays form: directly store LLSD::Map.
2011-07-12 20:14:39 -04:00
Nat Goodspeed abf50e8c7d CHOP-753: Fix compile errors in LLMemoryInfo Windows-specific code. 2011-06-30 13:57:11 -04:00
Nat Goodspeed 01607fe418 CHOP-753: Reduce redundancy in LLMemoryInfo.
Recast stream() to display data from LLSD array rather than reinvoking OS
operations used to capture it.
Make refresh() cache LLSD data in map form as well as array; fetch items from
that in a few places to avoid going back to OS.
2011-06-30 11:50:54 -04:00
Nat Goodspeed 7f8ec9f142 CHOP-753: Introduce LLSD access to LLMemoryInfo ** BROKEN **
This is known not to compile on Mac yet; checking in to concurrently work on
Linux-specific code.
2011-06-29 20:35:44 -04:00
Xiaohong Bao 219cd6ecda more debug code for SH-207: viewer crash in LLVertexBuffer::mapBuffer. 2010-10-14 21:23:23 -06:00
Xiaohong Bao 5ee546eb4e for SH-335: create a debug tool to track of memory availability. 2010-10-14 17:01:39 -06:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Tofu Linden 7462911bdd Change Linux fasttimer implementation back to RDTSC - using a reliable syscall was REALLY chewing CPU time. Sigh. I didn't realize how incredibly often this gets called. So, back to the assembly.
But be more careful with CPU clock count on linux, so the fasttimer values are much more accurate than they were the last time we were with RDTSC, in absolute terms - back in the right order of magnitude anyway.

Also change many instances of Mhz to MHz.
Also some minor comment fixes.
2010-04-19 12:49:15 +01:00
Igor Borovkov 63375642c8 Backed out changeset 0305673fe81e EXT-4820 [NUX] Viewer dimensions on first-run
--HG--
branch : product-engine
2010-03-18 16:32:55 +02:00
Ychebotarev ProductEngine b6d5909ddc partitial fix for major EXT-4820 [NUX] Viewer dimensions on first-run
need to specify desctop width and height for macos and linux (see LLDesctopInfo in llsys.cpp for details)

--HG--
branch : product-engine
2010-03-04 15:43:14 +02:00
Brad Kittenbrink 01d390825a DEV-27646 dll linkage for login module.
Ok, finally got this to a point where it doesn't break the build and I can check
in. llcommon can be built as a shared library (disabled but can be enabled with
cmake cache var LLCOMMON_LINK_SHARED.

reviewed by Mani on tuesday (I still need to get his suggested changes
re-reviewed)
2009-05-22 23:27:16 +00:00
Aaron Brashears e3cf284388 Result of svn merge -r107256:107258 svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165 2009-01-08 00:05:06 +00:00
Steven Bennetts 25c10ed028 QAR-628 merge string-cleanup-5 -r 90476:90508 -> release
dataserver-is-deprecated
2008-06-26 00:39:00 +00:00
Josh Bell df4d167cd1 svn merge -r74200:76302 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-18-6-Viewer --> release
Wheee, this was fun. Um, let's back-port fixes a little more rapidly next time. Reviewed by CG until alexandria died, did the rest by my lonesome.
2007-12-21 06:44:41 +00:00
Aaron Brashears 5595a99623 Result of svn merge -r71162:71205 svn+ssh://svn/svn/linden/branches/new-license into release. only changes files which are not deployed or the comments section of code. 2007-10-04 23:19:43 +00:00
Christian Goetze ce0a5fe145 EFFECTIVE MERGE: svn merge -r 66133:68118 svn+ssh://svn/svn/linden/branches/maintenance into release
Actual action: branched maintenance-r68118, merged in release, then copied result into release
2007-08-21 22:17:53 +00:00
Don Kjer 9746cf5310 EFFECTIVE MERGE: svn merge -r 65485:66133 svn+ssh://svn/svn/linden/branches/maintenance into release
This includes fixes to the maintenance-r66133 branch, and sync'ing up with release@r66392

ACTUAL MERGE: svn merge -r 66394:66435 svn+ssh://svn/svn/linden/branches/release-r66392 into release
EQUIVALENT TO: svn merge -r 65485:66434 svn+ssh://svn/svn/linden/branches/maintenance-r66133 into release (plus branch sync'ing)
2007-07-26 01:22:23 +00:00
James Cook 1a33bc19b4 svn merge -r 62595:62596 and 62598:63308 sse-skinning-3 for faster software avatar rendering. Visual Studio 2005 project file fixed pending. 2007-07-02 23:52:40 +00:00
Josh Bell 0277259455 svn merge -r 59968:60342 svn+ssh://svn.lindenlab.com/svn/linden/branches/maintenance --> release 2007-04-11 17:54:18 +00:00
James Cook 420b91db29 Print done when done. 2007-01-02 08:33:20 +00:00