Tauist. Bit twiddler. Advocate for continued logarithms.
User Details
- User Since
- Jun 30 2017, 3:18 PM (359 w, 2 d)
Today
Make changes to address feedback.
Sat, May 18
Rename (function) ilog2 so that it differs from (macro) ilog2. Rename the other functions too, and make the parameter name the same across all ilog2 functions/macros.
Fri, May 17
Drop the ilog2 definition from log2.h.
Thu, May 16
Wed, May 15
Tue, May 14
Mon, May 13
Remove unneeded KASSERT.
Sun, May 12
@whu: This change would drop the definition of ilog2 that you included in sys/dev/mana/gdma_util.h. However, that function, called ilog2(x), actually returns x + log2(x), because it initializes 'log' to x, and not to 0.
powerpc64 is a trickier beast. You need to 'make TARGET=powerpc TARGET_ARCH=powerpc64 ...' (explicitly specify TARGET_ARCH)
Change ilog2 to ilog2l where appropriate. Drop bslr, since it's just another name for ilog2l.
Others have used the ilog2 name for the same function. Drop those other definitions.
Update to leave out vm_radix.c.
Sat, May 11
Calculate the loop bound a little more efficiently. Reorder some computations within the loop to use fewer registers.
Move macro definitions, as suggested.
Mon, Apr 22
Apr 13 2024
Restore pmap_load calls dropped from pmap_unwire_ptp.
Apr 10 2024
Apr 9 2024
Combine two short lines into one.
Apr 7 2024
Apr 6 2024
Jan 29 2024
Jan 28 2024
Dec 21 2023
Refresh, seeking review.
Dec 19 2023
Dec 18 2023
Dec 15 2023
Dec 4 2023
Nov 29 2023
Nov 25 2023
Nov 24 2023
Nov 23 2023
Nov 15 2023
Nov 13 2023
Fix typos identified by @markj.
Nov 12 2023
Edit a couple of comments.
Nov 11 2023
Add assertion. Add/update some comments.
Fix a comment, suggested by @alc.
For @alc, change a semicolon to empty braces.
As @alc suggests, remove a redundant assertion (aren't they all redundant?), and a pointless NULL check, and a comment which in no way improved performance.
Apply @alc suggestions. Remove some inessential parts.
Nov 10 2023
Fix an assertion identified by @markj.
Address feedback from @alc.
Re-enter an iterator for checking empty blocks.
Add a missing assignment.
Nov 9 2023
Apply suggestions from @markj.
Don't modify m_ret in the loop, in case iteration happens and that breaks FOREACH. Save the potential return value in m_val instead.
Nov 8 2023
Oct 27 2023
The reporter of this bug:
Sep 23 2023
Sep 21 2023
Sep 20 2023
Sep 13 2023
Sep 12 2023
Sep 11 2023
As @alc requested, drop the changes to the vm_page struct definition and the increment of the version number that accompanied it.
Sep 9 2023
Sep 8 2023
Are there any more issues to address before I commit this?
Sep 6 2023
Remove needless #include, __unused, blank line.
Bump __FreeBSD_version.
Reshuffle vm_page members as suggested.
Inline all the vm_radix functions that are wrappers for pctrie functions, leaving only a bit of storage management code in vm_radix.c.
Sep 4 2023
Rearrange ordering in vm_page one more time - to move pindex to the start and have order right after it. Without introducing gaps.
Move order and several others up with pindex to avoid creating a gap, and because future changes are likely to access 'order' in vm_radix calls, and having 'order' next to 'pindex' will be cache friendly. Didn't move enough up with pindex last time.
Sep 3 2023
Rearrange the members of vm_page. Move pindex to the beginning to avoid adding and subtracting in the vm_radix functions. Move order and 3 others up with pindex to avoid creating a gap, and because future changes are likely to access 'order' in vm_radix calls, and having 'order' next to 'pindex' will be cache friendly. Make order signed because, first, it is only ever assigned to, compare with, or printed as a signed value and, second, because negative values will be part of a planned future change.