Page MenuHomeFreeBSD

arm64: pagezero improvement
ClosedPublic

Authored by der_semihalf.com on Mar 25 2016, 6:46 PM.
Tags
Referenced Files
Unknown Object (File)
Wed, Mar 6, 4:25 AM
Unknown Object (File)
Feb 23 2024, 1:42 PM
Unknown Object (File)
Jan 2 2024, 7:33 PM
Unknown Object (File)
Dec 20 2023, 1:04 AM
Unknown Object (File)
Nov 21 2023, 9:20 PM
Unknown Object (File)
Nov 13 2023, 12:09 PM
Unknown Object (File)
Nov 11 2023, 3:36 PM
Unknown Object (File)
Nov 10 2023, 10:15 AM
Subscribers

Details

Summary

This change has been provided to improve pagezero call performance.

Diff Detail

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

Event Timeline

der_semihalf.com retitled this revision from to arm64: pagezero improvement.
der_semihalf.com updated this object.
der_semihalf.com edited the test plan for this revision. (Show Details)
der_semihalf.com added reviewers: andrew, kib, wma, zbb.
der_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.
der_semihalf.com added a project: arm64.

Wouldn't it be (much) cleaner to select one of two implementations (dc/stp) e.g. by function pointer ?

sys/arm64/arm64/support.S
300 ↗(On Diff #14608)

What is the purpose of this calculation ? pagezero must always be called with the page-aligned address.

In D5741#122931, @kib wrote:

Wouldn't it be (much) cleaner to select one of two implementations (dc/stp) e.g. by function pointer ?

Yes it would.

sys/arm64/arm64/support.S
300 ↗(On Diff #14608)

Note taken. Will be removed.

der_semihalf.com edited edge metadata.

All of reviewers' comments have been applied.

sys/arm64/arm64/machdep.c
113 ↗(On Diff #14701)

This should be defined as extern in some header, machdep.h looks appropriate.

828 ↗(On Diff #14701)

Extra line.

sys/arm64/arm64/pmap.c
251 ↗(On Diff #14701)

That should go to machdep.c

All reviewers' comments have been applited.

sys/arm64/arm64/machdep.c
113 ↗(On Diff #14701)

It's ok like that, we only access this directly from this file. If the implementation was in a .c file it should be in a header, however a comment pointing to the .S file will be useful.

kib edited edge metadata.

There seems to be some issues with spaces/tabs between instructions and operands.

Otherwise looks good.

This revision is now accepted and ready to land.Mar 29 2016, 9:35 AM
In D5741#123261, @kib wrote:

There seems to be some issues with spaces/tabs between instructions and operands.

It seems that they only appear here as in vim the spacing/tabs looks exactly as in implementations of all other functions.

der_semihalf.com edited edge metadata.

Provided comment as requested.

This revision now requires review to proceed.Mar 29 2016, 9:59 AM
This revision was automatically updated to reflect the committed changes.