Page MenuHomeFreeBSD

Revert r329254
ClosedPublic

Authored by alc on Jul 17 2018, 4:58 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 12, 10:23 AM
Unknown Object (File)
Jan 2 2024, 4:09 PM
Unknown Object (File)
Dec 20 2023, 4:55 AM
Unknown Object (File)
Nov 13 2023, 9:29 PM
Unknown Object (File)
Nov 12 2023, 3:18 PM
Unknown Object (File)
Nov 9 2023, 11:25 PM
Unknown Object (File)
Nov 9 2023, 9:40 AM
Unknown Object (File)
Nov 7 2023, 11:36 PM
Subscribers

Details

Summary

Revert r329254. The effect of r329254 was to perform COW faults as two page faults, not one. The first fault updated the mapped physical address, but mapped the new physical page with read-only access, and the second fault added write access. Over the past few weeks, we have reviewed and updated the various pmap implementation so that this extra fault wasn't necessary.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Does Peter have a test that reproduces the mapping inconsistency that led to r329254?

In D16301#345952, @alc wrote:

Does Peter have a test that reproduces the mapping inconsistency that led to r329254?

No. When I asked the reporter about test case, all he had was some instrumentation which added delays in specific points, and even then the reproduction took long time.

This revision is now accepted and ready to land.Jul 17 2018, 5:15 PM
In D16301#345963, @kib wrote:
In D16301#345952, @alc wrote:

Does Peter have a test that reproduces the mapping inconsistency that led to r329254?

No. When I asked the reporter about test case, all he had was some instrumentation which added delays in specific points, and even then the reproduction took long time.

IIRC the bug was also responsible for occasional poudriere run failures on Ryzen.

In D16301#345968, @alc wrote:

How should I proceed?

How about asking @truckman to try a poudriere run on Ryzen with this change? He had reported that some port build failures stopped occurring with r329254.

In D16301#345968, @alc wrote:

How should I proceed?

How about asking @truckman to try a poudriere run on Ryzen with this change? He had reported that some port build failures stopped occurring with r329254.

I did a poudriere run to build my usual set of ports on r336438 with this patch and didn't observe any unexpected fallout. In particular lang/ghc and lang/go both built successfully, which almost always failed prior to the original fix. This was on amd64, so I can't say anything about other arches.

In D16301#345968, @alc wrote:

How should I proceed?

How about asking @truckman to try a poudriere run on Ryzen with this change? He had reported that some port build failures stopped occurring with r329254.

I did a poudriere run to build my usual set of ports on r336438 with this patch and didn't observe any unexpected fallout. In particular lang/ghc and lang/go both built successfully, which almost always failed prior to the original fix. This was on amd64, so I can't say anything about other arches.

Thank you!

This revision was automatically updated to reflect the committed changes.