printcp in tcp_cubic.c

时间:2012-04-11 07:19:55

标签: c linux-kernel kernel printk

我在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中打印值。那是为什么?

1 个答案:

答案 0 :(得分:0)

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

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

cat /proc/sys/kernel/printk 

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