DragonFlyBSD Finalizes Its Ryzen Workaround
Separate from the AMD Ryzen performance marginality problem affecting Linux users, BSD users have been working on a workaround for their kernels to address problems with how their user stacks are mapped.
A link circulating earlier this month was this FreeBSD commit to work around a guard page issue. Issues (funky behavior) can occur if code is running at the top of the user memory address space, so the workaround is to increase the guard page size. Linux has already had a large guard page while the BSDs have not, but they are now being increased for Ryzen.
DragonFlyBSD's Matthew Dillon has been leading that investigation on the BSD side. Prior to that FreeBSD commit he made a temporary workaround back in March of this year. This week he's now firmed up his workaround.
Per this commit, he's now lowered the maximum user address by 2MB to ensure the top 2MB of the user address space is unmappable. Those interested in more of the technical details can find it via the commit message on that link.
So both the latest DragonFlyBSD and FreeBSD development code should now be playing happy with Ryzen. I'm still waiting to receive Threadripper and EPYC, but when finally getting my hands on them, will likely be doing an interesting Linux vs. BSD benchmark comparison.
A link circulating earlier this month was this FreeBSD commit to work around a guard page issue. Issues (funky behavior) can occur if code is running at the top of the user memory address space, so the workaround is to increase the guard page size. Linux has already had a large guard page while the BSDs have not, but they are now being increased for Ryzen.
DragonFlyBSD's Matthew Dillon has been leading that investigation on the BSD side. Prior to that FreeBSD commit he made a temporary workaround back in March of this year. This week he's now firmed up his workaround.
Per this commit, he's now lowered the maximum user address by 2MB to ensure the top 2MB of the user address space is unmappable. Those interested in more of the technical details can find it via the commit message on that link.
So both the latest DragonFlyBSD and FreeBSD development code should now be playing happy with Ryzen. I'm still waiting to receive Threadripper and EPYC, but when finally getting my hands on them, will likely be doing an interesting Linux vs. BSD benchmark comparison.
12 Comments