printk in tcp_cubic.c



我在 tcp_cubic.c 中包含以下 printk 语句

static u32 bictcp_recalc_ssthresh(struct sock *sk)
{
  ..
  if (tp->snd_cwnd < ca->last_max_cwnd && fast_convergence)
      ca->last_max_cwnd = (tp->snd_cwnd * (BICTCP_BETA_SCALE + beta))
          / (2 * BICTCP_BETA_SCALE);
  else
      ca->last_max_cwnd = tp->snd_cwnd;
  ca->loss_cwnd = tp->snd_cwnd;

  printk(KERN_INFO "ssthresh is %s", snd_cwnd); // <<<--- here
  return max((tp->snd_cwnd * beta) / BICTCP_BETA_SCALE, 2U);
}

但它不会打印 dmesg 或 syslog 中的值。为什么?

例如,在 Linux 3.1 中,DEFAULT_MESSAGE_LOGLEVEL值为 4,KERN_INFO为 6。尝试使用 KERN_ALERT 之类的内容打印(值为 1)。

您可以通过读取/修改此 proc 文件来检查或更改默认日志级别:

cat /proc/sys/kernel/printk 

有关此文件的详细信息,请参阅man 5 proc

相关内容

  • 没有找到相关文章

最新更新