[SCore-users-jp] Re: [SCore-users-jp]PM のエラー等について

Shinji Sumimoto s-sumi @ flab.fujitsu.co.jp
2004年 6月 10日 (木) 22:08:31 JST


富士通研の住元です。

From: k-ikegami @ aj.jp.nec.com
Subject: Re:Re:Re:Re: [SCore-users-jp]PM のエラー等について
Date: Thu, 10 Jun 2004 20:48:00 +0900
Message-ID: <20040610204800k-ikegami @ mail.jp.nec.com>

k-ikegami> 住元様
k-ikegami> 
k-ikegami> 池上です。わざわざ試してまで頂き、ありがとうございました。
k-ikegami> 
k-ikegami> >個別のノードに偏っていない場合でData Checksum errorが出ていなけれ
k-ikegami> >ばネットワーク的には問題ないです。
k-ikegami> >
k-ikegami> >以前、同様の現象は、eepro100でも観測していて、送信のPCI DMA時にDMAが失
k-ikegami> >敗する場合があり、それがHeader Checksum Errorを引き起こす場合があるこ
k-ikegami> >とがありました。
k-ikegami> 
k-ikegami> 
k-ikegami> そう言っていただくと、少し安心できますが。。
k-ikegami> Header Checksum ErrorとData Checksum Errorの意味するところ(原因、影響)
k-ikegami> には違いがあるという事でしょうか?
k-ikegami> どうも、エラー表示が出たままでは落ち着けないもので。。

errorといっても再送されて問題ないと言うエラーですが、、

Data Checksum Errorが出ていないと言うことはネットワークの通信でのエラー
ではなくNICの送信時に発生しているものと考えられるからです。

実際にデータ化けを調べてみましたが、以下のように受信パケットのheaderに
埋め込まれているcksumのデータが固定値となっています。

         (head 600000 != calc 955ad8af)
 header内のcksum data	 実際に計算した値

PM/Etherentでは、同じバッファを短時間に頻繁に使い回すので、たまに
secondary cacheに乗ったデータを PCI DMAが転送するときにうまく転送でき
ず、メモリ上のデータを転送する場合があるようです。以前徹底的に調査した
ときには送信時には正しいcksumが書かれていることを確認しています。

========================================================================
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc 955ad8af) len = 1488 ignored
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc a32bd8ae) len = 1488 ignored
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc cd73d8ad) len = 1488 ignored
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc 4ef2d8ac) len = 1488 ignored
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc afe0d8a3) len = 1488 ignored
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc 740d8a2) len = 1488 ignored
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc 1865d8a1) len = 1488 ignored
** PM/Ethernet WARNING: Header Checksum error1: from 600006 (head 600000 != calc ff1558a0) len = 1488 ignored
========================================================================

つまり、ネットワークではなくサーバ内部でのDMAエラーと想定されます。これは、
PentiumII+eepro100の時代からたまに発生していました。

いづれにしろ、元々信頼性のあるプロトコルを使っているので、cksumエラー
が出ても再送して問題は無いはずです。

------
Shinji Sumimoto, Fujitsu Labs



SCore-users-jp メーリングリストの案内