F-Stack support HPTS for rack/bbr, and rack work correctly, but bbr

still has some problems when transferring large files, and the
issue with bbr will be attempted to be resolved after FreeBSD is
upgraded to 13.1 in the next release(1.23).
This commit is contained in:
fengbojiang 2022-09-01 19:18:12 +08:00
parent fa1a923248
commit ae7ea12bc0
3 changed files with 33 additions and 32 deletions

View File

@ -161,6 +161,7 @@ gateway=192.168.1.1
# FreeBSD network performance tuning configurations.
# Most native FreeBSD configurations are supported.
[freebsd.boot]
# If use rack/bbr which depend HPTS, you should set a greater value of hz, such as 100000 means a tick is 10us.
hz=100
# Block out a range of descriptors to avoid overlap
@ -210,5 +211,5 @@ net.inet.udp.blackhole=1
net.inet.ip.redirect=0
net.inet.ip.forwarding=0
#set default stacks:freebsd, rack or bbr
# set default stacks:freebsd, rack or bbr, may be you need increase the value of parameter 'freebsd.boot.hz' while use rack or bbr.
net.inet.tcp.functions_default=freebsd

View File

@ -827,8 +827,8 @@ init_clock(void)
{
rte_timer_subsystem_init();
uint64_t hz = rte_get_timer_hz();
uint64_t intrs = MS_PER_S/ff_global_cfg.freebsd.hz;
uint64_t tsc = (hz + MS_PER_S - 1) / MS_PER_S*intrs;
uint64_t intrs = US_PER_S / ff_global_cfg.freebsd.hz;
uint64_t tsc = (hz + US_PER_S - 1) / US_PER_S * intrs;
rte_timer_init(&freebsd_clock);
rte_timer_reset(&freebsd_clock, tsc, PERIODICAL,

View File

@ -1205,7 +1205,7 @@ ff_hardclock(void)
{
atomic_add_int(&ticks, 1);
callout_tick();
tc_ticktock(1);
tc_ticktock((hz + 999)/1000);
cpu_tick_calibration();
#ifdef DEVICE_POLLING