Page MenuHomeFreeBSD

The old thread priority must be stored as part of the EPOCH(9) tracker.
ClosedPublic

Authored by hselasky on May 21 2021, 9:29 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 3, 4:14 AM
Unknown Object (File)
Sun, Oct 27, 11:50 AM
Unknown Object (File)
Oct 5 2024, 3:36 PM
Unknown Object (File)
Oct 5 2024, 11:29 AM
Unknown Object (File)
Oct 4 2024, 11:04 AM
Unknown Object (File)
Oct 4 2024, 7:49 AM
Unknown Object (File)
Oct 3 2024, 7:57 AM
Unknown Object (File)
Oct 2 2024, 11:00 PM
Subscribers
None

Details

Summary

Else recursive use of EPOCH(9) may cause the wrong priority to be restored.

MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

hselasky created this revision.
hselasky added a reviewer: kib.

Added patch context.

I forgot that I wrote this, which does priority propagation properly: https://reviews.freebsd.org/D24622

I will try to revisit it shortly. I think this change is ok in the meantime.

sys/sys/param.h
79

Because of the removal of a field from struct thread? In this case the change should not be MFCed. In practice it doesn't matter because the layout will not change due to alignment constraints. There will be some pad bytes between td_base_user_pri and td_rb_list. So in fact __FreeBSD_version does not need to be bumped at all.

I forgot that I wrote this, which does priority propagation properly: https://reviews.freebsd.org/D24622

I will try to revisit it shortly. I think this change is ok in the meantime.

Looks good. I'll have a closer look over the weekend.

--HPS

sys/sys/param.h
79

What about the change in the epoch tracker?

Ignore my last comment. Patch must be AS-IS. Will someone approve it?

markj added inline comments.
sys/sys/param.h
79

I forgot about this. In that case the change should not be MFCed.

This revision is now accepted and ready to land.May 22 2021, 2:51 PM
hselasky added inline comments.
sys/sys/param.h
79

Yes, I'll handle that.