Commit db6f460
committed
[ot] hw/opentitan: ot_otp_engine: Replace digest BH with a timer
From testing, it seems that the use of Bottom Halves on hosts under
higher processing loads (where QEMU is more often pre-empted) can
produce inconsistent / slow results. Timers with a short timeout provide
the same decoupling functionality as the BH but with more consistency
and expedience.
This could be especially problematic for SW which expects digest writes
to be processed within a certain time. If handling of the BH was
deferred long enough, then enough guest code could be processed for it
to look like e.g. 10 ms had passed, exceeding common SW timeouts. This
could be seen happening occasionally under high processing loads.
Signed-off-by: Alex Jones <alex.jones@lowrisc.org>1 parent 41b4ca0 commit db6f460
File tree
2 files changed
+11
-6
lines changed- hw/opentitan
- include/hw/opentitan
2 files changed
+11
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
61 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
62 | 65 | | |
63 | 66 | | |
64 | 67 | | |
| |||
1622 | 1625 | | |
1623 | 1626 | | |
1624 | 1627 | | |
1625 | | - | |
| 1628 | + | |
| 1629 | + | |
1626 | 1630 | | |
1627 | 1631 | | |
1628 | 1632 | | |
| |||
2746 | 2750 | | |
2747 | 2751 | | |
2748 | 2752 | | |
2749 | | - | |
2750 | 2753 | | |
2751 | 2754 | | |
2752 | 2755 | | |
2753 | 2756 | | |
| 2757 | + | |
2754 | 2758 | | |
2755 | 2759 | | |
2756 | 2760 | | |
| |||
2900 | 2904 | | |
2901 | 2905 | | |
2902 | 2906 | | |
2903 | | - | |
| 2907 | + | |
| 2908 | + | |
2904 | 2909 | | |
2905 | 2910 | | |
2906 | 2911 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
168 | | - | |
| 168 | + | |
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| |||
0 commit comments