Commit Graph

204 Commits

Author SHA1 Message Date
michael sartain
3957eeb144 Read proc smaps_rollup in FUnixPlatformMemory::GetExtendedStats() if it exists
smaps_rollup was added in v4.14. Details on this page:
  https://kernelnewbies.org/Linux_4.14

It should be a constant ~1ms vs 6.8ms (and far higher) when reading entire smaps file
  (Tested on my 5.15 kernel)

smaps_rollup info:
  https://patchwork.kernel.org/project/linux-fsdevel/patch/20170812022148.178293-1-dancol[at]google.com/

Smaps info:
> FPlatformMemory::GetExtendedStats() is slow and took 28ms in my local tests.
> Moreover, it can be even slower because the time it takes is a (hopefully
> linear) function of the number of memory allocations.

#jira UE-139749, UE-52126
[REVIEW] Brandon.Schaefer, Arciel.Rekman
[FYI] Brian.Bekich, Ilya.Loshchinin, Robert.Seiver
#preflight trivial

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 18683396 via CL 18683443 via CL 18683460 via CL 18684028 via CL 18684035 via CL 18684055
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18684069 by michael sartain in ue5-main branch]
2022-01-20 18:41:56 -05:00
michael sartain
fc8351a183 Added FUnixPlatformFile::CopyFile() that differs from the generic implementation in that it also copies the file permission bits.
This is similar to CL 2421073, 2424491 for FApplePlatformFile.

[at]Brandon.Schaefer, [at]Robert.Seiver
[FYI] Will.Damon
#jira none
#preflight trivial

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 18604349 in //UE5/Release-5.0/... via CL 18604376 via CL 18604394
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18604413 by michael sartain in ue5-main branch]
2022-01-13 15:57:24 -05:00
zach brockway
dd2ebf0e26 Allow FUnixPlatformProcess::CreateProc to locate executables within $PATH, rather than requiring an absolute path.
Changed underlying API from posix_spawn to posix_spawnp, which only differs in behavior if the provided path fragment does not contain any path separators. Matches within the base directory are still prioritized if they exist. Failures are no longer treated as fatal.

#jira UE-138792
#rb Brandon.Schaefer, Michael.Sartain
#preflight 61ddd69fcd2cced71060929a

#ROBOMERGE-AUTHOR: zach.brockway
#ROBOMERGE-SOURCE: CL 18575611 in //UE5/Release-5.0/... via CL 18575644
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18575658 by zach brockway in ue5-release-engine-test branch]
2022-01-11 14:51:19 -05:00
michael sartain
3e2943820e Add Linux -crashhandlerstacksize command line option to set crash handler stack size
Also move stack to mmap'd memory instead of alloc'ing in heap

Should allow us to set & reduce size of 200k stack significantly via command line.

Brandon.Schaefer
#jira none
#preflight 61dc61cb1f62d3ad4d8079d4

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 18561402 in //UE5/Release-5.0/... via CL 18561404
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18561421 by michael sartain in ue5-release-engine-test branch]
2022-01-10 12:18:10 -05:00
jack porter
e7b6f0102c Add flag to FPlatformProcess::CreatePipe to indicate the pipe will be used for stdin redirection rather than stdout redirection.
Windows needs to set permissions accordingly.
#rb Brandon.Schaefer
[FYI] Josh.Adams
#preflight 61d79ed84c252480ca31e640

#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 18539045 in //UE5/Release-5.0/... via CL 18539064
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18539081 by jack porter in ue5-release-engine-test branch]
2022-01-06 21:19:58 -05:00
devin doucette
0a6eb275ba StringBuilder: Deprecated AppendAnsi
#rb Zousar.Shaker
#preflight 61d4bfb3411c1403a3bfab2a

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18523803 in //UE5/Release-5.0/... via CL 18523820
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18523837 by devin doucette in ue5-release-engine-test branch]
2022-01-05 15:20:34 -05:00
ilya loshchinin
90ba7e6dec Fixed Unix crash messages printing a truncated memory address.
#tests Crashed on Linux with nullptr and non-null ptr
#rb Brandon.Schaefer
#preflight 61b245cafb3115178686b4a7

#ROBOMERGE-AUTHOR: ilya.loshchinin
#ROBOMERGE-SOURCE: CL 18422416 via CL 18422444 via CL 18422465 via CL 18435085 via CL 18437383
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18437661 by ilya loshchinin in ue5-release-engine-test branch]
2021-12-10 20:58:57 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
brandon schaefer
b38e3cac6e Move Warning to Verbose for possible leaked process. Its been around for a long time and while could still be an issue, not enough to spam the logs
#jira none
#rb Michael.Sartain

#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 17476778 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17476795 by brandon schaefer in ue5-release-engine-test branch]
2021-09-09 17:45:42 -04:00
geordiemhall
1c5bfd52de Implement OutStdErr in FUnixPlatformProcess::ExecProcess
Add stderr parameter to CreateProc
Add exec-process test to TestPAL

PR #6919: Add a new FPlatformProcess::CreateProc() overload to allow separating stderr and stdout (Contributed by geordiemhall)

#rb Brandon.Schaefer, James.Singer, Robert.Seiver, Will.Damon
#jira UE-91758, UE-92964

#ROBOMERGE-SOURCE: CL 17290306 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17290325 by geordiemhall in ue5-release-engine-test branch]
2021-08-24 14:16:10 -04:00
johan torp
272087e936 Fix OnOutOfMemory thread-safety issue when concurrent calls return from the function
Change all FPlatformMemory::OnOutOfMemory implementations to [[noreturn]]

#jira UE-93728
#rb steve.robb, arciel.rekman

#ROBOMERGE-SOURCE: CL 17212898 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17212911 by johan torp in ue5-release-engine-test branch]
2021-08-18 06:20:03 -04:00
andriy tylychko
6bf3101dcd deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau


#ROBOMERGE-SOURCE: CL 17176325 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17176374 by andriy tylychko in ue5-release-engine-test branch]
2021-08-16 11:09:22 -04:00
aurel cordonnier
dc4bf61540 Merge from Release-Engine-Staging @ 17030559 to Release-Engine-Test
This represents UE4/Main @ 17030256 and Dev-PerfTest @ 17030553

[CL 17031509 by aurel cordonnier in ue5-release-engine-test branch]
2021-08-03 11:56:47 -04:00
danny couture
3600222de0 Fix bad stricmp that led to mimalloc being activated by default
Make mimalloc really activated by default now that we know it doesn't cause major issues

#rnx
#rb Arciel.Rekman, Michael Sartain
#preflight 61081ce65b2fb8000166c651

#ROBOMERGE-SOURCE: CL 17029176 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v845-17028103)

[CL 17029184 by danny couture in ue5-release-engine-test branch]
2021-08-03 08:50:09 -04:00
louisphilippe seguin
9da3c4d82c Made UnixCrashContext for ensures thread-safe
* Stop adding/removing FTicker delegates outside the game-thread
* Made the concurrently uploading processes thread-safe using atomic state machine
* Added option to limit the number of processes on dedicated game servers
* Fix ensures not getting sent on dedicated game servers

#rb brandon.schaefer, robert.siever, ryan.gerleve
#jira FORT-392630


#ushell-cherrypick of 16969720 by louisphilippe.seguin

#ROBOMERGE-SOURCE: CL 16968970 in //Fortnite/Release-17.30/... via CL 16968983 via CL 16982775
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16982781 by louisphilippe seguin in ue5-release-engine-test branch]
2021-07-28 11:23:01 -04:00
brandon schaefer
cc4d543550 Add AddressLimit for Linux
PR #8202 (thanks anon-oss!)

#jira UE-119288
#rb none

#ROBOMERGE-SOURCE: CL 16971049 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16971058 by brandon schaefer in ue5-release-engine-test branch]
2021-07-27 14:12:05 -04:00
danny couture
80a0593017 Exclude mimalloc.c from static analysis
Fix typo where double slash were used

#rnx
#rb trivial
#preflight 60d1fe1fbe81e80001837c38

#ROBOMERGE-SOURCE: CL 16744965 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16744987 by danny couture in ue5-release-engine-test branch]
2021-06-22 12:49:10 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
robert seiver
778461c5b9 Replaced the single ensure crash reporting process handle with a pool of process handles
#jira UE-67073
[at]Brandon.Schaefer, [at]Michael.Sartain

#ROBOMERGE-SOURCE: CL 16663186 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16663191 by robert seiver in ue5-release-engine-test branch]
2021-06-14 15:53:44 -04:00
brandon schaefer
a90cdbe7c2 Rename LinuxAArch64 to LinuxArm64
#jira UE-118127
#rb Michael.Sartain
[FYI] Marc.Audy, Aurel.Cordonnier

#ROBOMERGE-SOURCE: CL 16660821 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16660830 by brandon schaefer in ue5-release-engine-test branch]
2021-06-14 13:40:06 -04:00
danny couture
f358a5d8a4 Include mimalloc compilation as part of the core module instead of relying on prebuilt binaries
- This will make maintenance for multiple platforms a lot easier (i.e. just preflight)
  - Will be easy to get callstack and debug since it will be compiled on the machine it is debugged on
  - Easier to try out modifications on mimalloc itself
  - Fix mimalloc compilation under Clang 10
  - Fix mimalloc inconsistent usage of MI_ENCODE_FREELIST define
  - Fix mimalloc inconsistent usage of _WIN32 define
  - Implement MacOS and Unix -mimalloc command-line switch

- Some MacOS changes were contributed by Will.Damon

#rb Brandon.Schaefer, Will.Damon
#preflight 60b4ea613c6c4e000158233e
#rnx

[CL 16512512 by danny couture in ue5-main branch]
2021-06-01 05:35:42 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
Steve Robb
0c3302d7cf Some explicit casts to UTF8CHAR, for upcoming changes to that type.
#rb none
#jira none

[CL 16487296 by Steve Robb in ue5-main branch]
2021-05-27 12:45:14 -04:00
robert seiver
7d09c12286 Pull request #7677 to give actual OS version name data instead of previously hardcoded OS name
#jira UE-106398
#review @Brandon.Schaefer
#rb Brandon.Schaefer

[CL 16474875 by robert seiver in ue5-main branch]
2021-05-26 16:28:01 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00