トップ 最新 追記

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2024-10-02 [長年日記]

_ [雑記]TESmart HKS401-M23-JPBKのEDIDエミュレーション

xdmを自動起動に設定したノードを、KVM非選択状態かつモニターオフ(待機電力まで落ちている状態)で起動した時に/var/log/Xorg.0.logに見えるEDIDを観測してみた

X Serverにモニターの正しいEDIDが流れて来ているので、モニターに電源接続・モニター/KVM間のケーブルが接続されている状況であれば、バックグラウンド起動で必要なEDIDエミュレーションを行ってくれる模様


2024-10-04 [長年日記]

_ [雑記]NTPのoffsetジッターがおかしい

ここ最近、GPS同期しているNTPを参照していると妙にoffsetジッターが大きいホストがある…

どうも、10G switchの問題っぽぃぞ…

  • offsetジッターが大きいホストは10G SFP+ DA接続のホストだけ
    • 2.5GBASE-T接続とかは問題が出ない…
  • Switchをリブートすると症状が改善した
  • SFP+ポートに 10GBASE-Tモジュール刺していると、スイッチ自身が一時スタックする不具合が前からある (モジュール発熱起因の誤作動 or ファームのバグな気がする…)
    • スタック時は、ホスト側から見てると一時リンクダウンしたあと再リンクする挙動

2024-10-08 [長年日記]

_ [雑記]NTP offsetジッターの件

先日から調べてるNTP offsetジッターの件であるが、muninに記録されているジッターの悪化が始まった時刻帯とNTP clientノードの再起動時刻が被っている上に、以後リブートしていない…

一方、同一のGPS NTP serverに同期している正常なNTP clientのbuildworldはそれよりも新しい

ひょっとして、stable/14で更新途上の変なbuildを引いている?

少なくともCPU更新(Ryzen 7950X → 9950X)に伴うハードウェア入れ替えは2024/08/30前後なので、CPU起因では無い模様…


2024-10-09 [長年日記]

_ [雑記]NTP offsetジッターの件

buildworldし更新・再起動したが、解決していない…違う原因の模様

ネットワーク経路まわりの変更をトライすべきか…


2024-10-16 [長年日記]

_ [雑記]NTP offsetジッターの件

とりあえず、現状までに分かったことを纏める

  • Ryzen 9 9950X/B650M PG Riptide Wifi環境で、同一ネットワーク内のGPS付きNTP serverとのNTP offsetが不定期に300msecほどずれる
    • 2024/09/14頃から発症し、現在も続いている
  • 使用マザーASRock B650M PG Riptide WiFiのFirmwareリリース日
Ver.Date備考
3.082024/09/19NTP offsetジッター発生より後
3.062024/07/30Ryzen 9 9950X運用開始時点のFirmware
3.012024/05/16
  • 同一ネットワーク内ノードまとめ
    • A - Ryzen 9 9950X機 (問題のノード)
      • インターネットGatewayとして運用している
        • 2024/08/30頃にRyzen 9 7950Xから9950Xに換装している
      • (B)への経路は、LAN内の10G core switch経由 (Connext-X6 -DAC-> Switch -CAT.6A-> (B))
      • nict.go.jpへの経路は、インターネットプロバイダ経由 (RTL8125(100BASE-TX) -Cat.6A-> ONU)
      • nict.go.jpと(B)および予備のGPSレシーバでNTPを構成すると、nict.go.jp・GPSを基準に、(B)のoffsetが不定期に+300msec飛んで見える
        • (B)のoffsetは±0付近と+300msec付近に二値化しているように見える
      • sysutils/clockspeedに含まれるsntpclockで、(A)の時計を基準に(B)のNTP時刻を観測すると、24時間以上連続で±1msec内のoffsetで安定している (1秒周期の観測)
    • B - GPS NTP server
      • GPS 1PPSとnict.go.jpに同期しているNTP server
      • (A)への経路は、LAN内の10G core switch経由 (I-225V -Cat.6A-> Switch -DAC-> (A))
      • 外部ネットワーク接続自体は、(A)をgatewayにしている
      • nict.go.jpとGPS 1PPSは±1msecで同期しており、offsetの日格差も小さい
    • C - Ryzen 9 7950X機 (テストノード)
      • (A)と同型のマザーボードを搭載した試験機
      • (A),(B)への経路は、LAN内の10G core switch経由 (RTL8125(2.5GBASE-T) -> Switch -> (A) or (B))
      • nict.go.jpへの経路は、(A)をgatewayにしている
      • nict.go.jpと(B)でNTPを構成すると、nict.go.jpと(B)へのoffsetは追従している
        • (A)のようなoffsetの不定期な飛びは見られない (連続的な変動は、7950X機側のクロックドリフトの模様)
  • 調査まとめ
    • (A)のConnect-X6インターフェースの遅延ばらつきとは考えにくい
      • (A)以外のnict.go.jpの通信で影響が出るはず
      • sntpclockによる(A)-(B)間の観測結果と一致しない
    • (A)にて(B)のNTP offset変動時に、(A)および(B)ではGPS offsetの変動が観測されていない
      • (A)および(B)のローカルクロックは問題なく同期している (先のsntpclockの観測事実と整合する)
    • 観測されるoffsetの飛びの幅と符号が一定である (約 +300msec)
    • (A)と(B)のNTP clientとしての違いは、マザーボード・メモリ等に欠陥が無ければ、CPUモデル・使用NICとGatewayであるか否か (OSは同一)

現状の調査状況からは、ntpdのソフトウェアのバグもしくは、NTPDがやりとりするNTPパケット(UDP port 123→port 123)の混線((A)がNAPTな外部Gatewayなのでパケットがあつまる)あたりしか原因が思いつかん Orz

時間が取れたら、RTX830を本番投入してGateway機能を分離してみよう…NTPパケットの混線ならこれで治るはず


2024-10-27 [長年日記]

_ [雑記]FNS-3200導入

宅内LANのコアスイッチとしてQSW-M1208-8Cを運用しているが微妙に検証作業等でポートが足らんことがあるので、FOXNE FNS-3200を導入

最近流行りのRealtekの2.5G Ethernet SoCを使ったハブで、 SFP+ 1ポートに 2.5GBASE-TなRJ45が 8ポートのファンレススイッチで 9000円前後で購入できる

ファンレスになっているが、筐体が熱を持つ訳でも無く(10GBASE-TなFSP+モジュールを刺した場合は知らんが…)、マネージメント機能も無いプレーンな小型スイッチングハブである

まあ、電源が12V ACアダプター(PSEマークは入っていた)なのは、インフラ用途では不満だが、価格帯と大きさから考えればBuffaloやElecomのやつも同様なので価格相応といったところか

1G/2.5Gポート増設用途でアンマネージド型を選択したが、1000〜2000円上乗せすると同SoCベースなマネージド型もある模様、ただ価格帯が価格帯だけにUIまわりの完成度は期待出来ない気がする Orz

QNAPとかNetgear等で10Gスイッチの新作が投入されているが、大抵規模が大きすぎて高いか一台に纏めるにはポートが足らない or SFP+が多すぎる辺りなのが、逸般家庭用の難しいところ

理想的には、VLAN使えて、SFP+ 4ポート・10G RJ45 4ポート・2.5G RJ45 8ポートぐらいが繋がるハーフラックスイッチで10万円前半の製品が欲しい

QNAPだとQSW-M3224-24Tはデカすぎ&SFP+が無いのがネック、QSW-M3216R-8S8Tだと総ポート数的にはマッチするが、RJ45がもう少し欲しいところ (モジュールは意外に単価と発熱が…/あとQSW-M1208-8Cの経験だと10GBASE-Tモジュール挿すとFirmwareでエラーが出るケースが難、通信遮断は一時的だが、以後マネージドポートのMACアドレスとファン回転数が見えなくなる)


2024-10-28 [長年日記]

_ [FreeBSD][Ryzen]amdtemp on Ryzen 9 9950X

備忘録としてまとめておく

  • 既に動くRyzen 9 7950Xとの比較
    • amdsmn driverがprobeする hostb0@pci0:0:0:0のPCI device IDは同一 (device=0x14d8)
    • amdsmn/amdtemp driver共に FamilyID checkで拒絶される
  • FamilyID/ModelIDまとめ
Processor FamilyID ModelID Stepping
Ryzen 9 9950X 1Ah 44h 0
Ryzen 9 7950X 19h 61h 2
  • 最低限必要な修正
    • 1Ah Family support
    • 1Ah Family向けのamdtemp_probe_ccd__sensors19h相当関数
  • stable/14上で書いたパッチ
diff --git a/sys/dev/amdsmn/amdsmn.c b/sys/dev/amdsmn/amdsmn.c
index a0a7b9db60f8..e5c5656c5f11 100644
--- a/sys/dev/amdsmn/amdsmn.c
+++ b/sys/dev/amdsmn/amdsmn.c
@@ -205,6 +205,7 @@ amdsmn_probe(device_t dev)
       case 0x15:
       case 0x17:
       case 0x19:
+      case 0x1a:
               break;
       default:
               return (ENXIO);
diff --git a/sys/dev/amdtemp/amdtemp.c b/sys/dev/amdtemp/amdtemp.c
index 583ff80cac69..0220887134fd 100644
--- a/sys/dev/amdtemp/amdtemp.c
+++ b/sys/dev/amdtemp/amdtemp.c
@@ -229,6 +229,7 @@ static int32_t     amdtemp_gettemp15hm60h(device_t dev, amdsensor_t sensor);
 static int32_t        amdtemp_gettemp17h(device_t dev, amdsensor_t sensor);
 static void   amdtemp_probe_ccd_sensors17h(device_t dev, uint32_t model);
 static void   amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model);
+static void   amdtemp_probe_ccd_sensors1ah(device_t dev, uint32_t model);
 static int    amdtemp_sysctl(SYSCTL_HANDLER_ARGS);

 static device_method_t amdtemp_methods[] = {
@@ -316,6 +317,7 @@ amdtemp_probe(device_t dev)
       case 0x16:
       case 0x17:
       case 0x19:
+      case 0x1a:
               break;
       default:
               return (ENXIO);
@@ -475,6 +477,7 @@ amdtemp_attach(device_t dev)
               break;
       case 0x17:
       case 0x19:
+      case 0x1a:
               sc->sc_ntemps = 1;
               sc->sc_gettemp = amdtemp_gettemp17h;
               needsmn = true;
@@ -538,6 +541,8 @@ amdtemp_attach(device_t dev)
               amdtemp_probe_ccd_sensors17h(dev, model);
       else if (family == 0x19)
               amdtemp_probe_ccd_sensors19h(dev, model);
+      else if (family == 0x1a)
+              amdtemp_probe_ccd_sensors1ah(dev, model);
       else if (sc->sc_ntemps > 1) {
               SYSCTL_ADD_PROC(sysctlctx,
                   SYSCTL_CHILDREN(sysctlnode),
@@ -889,3 +894,24 @@ amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model)

       amdtemp_probe_ccd_sensors(dev, maxreg);
 }
+
+static void
+amdtemp_probe_ccd_sensors1ah(device_t dev, uint32_t model)
+{
+      struct amdtemp_softc *sc = device_get_softc(dev);
+      uint32_t maxreg;
+
+      switch (model) {
+      case 0x40 ... 0x4f: /* Zen5 Ryzen "Granite Ridge" */
+              sc->sc_temp_base = AMDTEMP_ZEN4_CCD_TMP_BASE;
+              maxreg = 8;
+              _Static_assert((int)NUM_CCDS >= 8, "");
+              break;
+      default:
+              device_printf(dev,
+                  "Unrecognized Family 1ah Model: %02xh\n", model);
+              return;
+      }
+
+      amdtemp_probe_ccd_sensors(dev, maxreg);
+}
  • それっぽく動く模様
CPU: AMD Ryzen 9 9950X 16-Core Processor             (4292.17-MHz K8-class CPU)
  Origin="AuthenticAMD"  Id=0xb40f40  Family=0x1a  Model=0x44  Stepping=0
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x7ed8320b<SSE3,PCLMULQDQ,MON,SSSE3,FMA,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2e500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM>
  AMD Features2=0x75c237ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,IBS,SKINIT,WDT,TCE,Topology,PCXC,PNXC,DBE,PL2I,MWAITX,ADMSKX>
  Structured Extended Features=0xf1bf97ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,PQM,PQE,AVX512F,AVX512DQ,RDSEED,ADX,SMAP,AVX512IFMA,CLFLUSHOPT,CLWB,AVX512CD,SHA,AVX512BW,AVX512VL>
  Structured Extended Features2=0x19405fde<AVX512VBMI,UMIP,PKU,OSPKE,AVX512VBMI2,GFNI,VAES,VPCLMULQDQ,AVX512VNNI,AVX512BITALG,AVX512VPOPCNTDQ,RDPID,MOVDIRI,MOVDIR64B>
  Structured Extended Features3=0x10000110<FSRM,AVX512VP2INTERSECT,L1DFL>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  AMD Extended Feature Extensions ID EBX=0x791ef257<CLZERO,IRPerf,XSaveErPtr,RDPRU,BE,WBNOINVD,IBPB,INT_WBINVD,IBRS,STIBP,STIBP_ALWAYSON,PREFER_IBRS,SAMEMODE_IBRS,NOLMSLE,SSBD,CPPC,PSFD,BTC_NO,IBPB_RET>
  SVM: Features=0xfebb9dff<NP,LbrVirt,SVML,NRIPS,TscRateMsr,VmcbClean,FlushByAsid,DecodeAssist,<b8>,PauseFilter,EncryptedMcodePatch,PauseFilterThreshold,V_VMSAVE_VMLOAD,vGIF,GMET,<b19>,GuesSpecCtl,<b21>,<b23>,<b25>,<b26>,<b27>,<b28>,<b29>,<b30>,<b31>>
Revision=1, ASIDs=32768
  TSC: P-state invariant, performance statistics
...
amdsmn0: <AMD Family 1ah System Management Network> on hostb0
amdtemp0: <AMD CPU On-Die Thermal Sensors> on hostb0
amdtemp0: Found 32 cores and 1 sensors.
...
% sysctl dev.amdtemp
dev.amdtemp.0.ccd1: 40.2C
dev.amdtemp.0.ccd0: 40.0C
dev.amdtemp.0.core0.sensor0: 50.6C
dev.amdtemp.0.sensor_offset: 0
dev.amdtemp.0.%parent: hostb0
dev.amdtemp.0.%pnpinfo:
dev.amdtemp.0.%location:
dev.amdtemp.0.%driver: amdtemp
dev.amdtemp.0.%desc: AMD CPU On-Die Thermal Sensors
dev.amdtemp.%parent:

カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記