Page MenuHomeFreeBSD

Depessimize arc4rand
ClosedPublic

Authored by mjg on May 12 2019, 1:52 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jan 16, 8:51 PM
Unknown Object (File)
Fri, Jan 16, 7:23 PM
Unknown Object (File)
Fri, Jan 16, 2:11 PM
Unknown Object (File)
Wed, Dec 31, 7:09 AM
Unknown Object (File)
Dec 21 2025, 6:18 AM
Unknown Object (File)
Dec 18 2025, 11:09 PM
Unknown Object (File)
Dec 17 2025, 5:30 AM
Unknown Object (File)
Nov 27 2025, 12:37 AM
Subscribers

Details

Summary

The function starts with atomic_cmpset_int(&arc4rand_iniseed_state, ARC4_ENTR_HAVE, ARC4_ENTR_SEED), which at least on x86 always dirties the cacheline. I.e. there is perfectly avoidable line bouncing. While here do minor cleanups.

Diff Detail

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

Event Timeline

cem added a reviewer: markm.
This revision is now accepted and ready to land.May 12 2019, 2:24 AM
delphij added a subscriber: delphij.

Looks reasonable to me.

This revision was automatically updated to reflect the committed changes.