Skip to content

Primary thread topology default#1

Open
jackYoung0915 wants to merge 7 commits into
masterfrom
cursor/primary-thread-topology-default-08ce
Open

Primary thread topology default#1
jackYoung0915 wants to merge 7 commits into
masterfrom
cursor/primary-thread-topology-default-08ce

Conversation

@jackYoung0915
Copy link
Copy Markdown
Owner

Add PCIe_Knowledge_Summary.md to document PCIe essentials and Linux kernel device loading for a presentation.


Open in Cursor Open in Web

This document includes:
- PCIe basic concepts and bandwidth comparison
- PCIe topology structure (Root Complex, Switch, Endpoint)
- Configuration space layout and BAR registers
- Transaction Layer Protocol (TLP) types
- Linux kernel PCI subsystem architecture
- Device enumeration flow with code analysis
- Driver loading and probe sequence
- Key data structures (pci_dev, pci_driver, pci_bus)
- Practical examples and debugging tips

Suitable for technical sharing and knowledge transfer.

Co-authored-by: 15605196882 <15605196882@163.com>
@cursor
Copy link
Copy Markdown

cursor Bot commented Jan 27, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

cursoragent and others added 3 commits January 28, 2026 07:25
Detailed documentation of schedutil cpufreq governor including:
- Overall architecture and component relationships
- Trigger points from CFS/RT/DL/SCX schedulers
- Core processing flow with function call chains
- Fast path vs slow path frequency update mechanisms
- Key function interfaces at each layer
- Data structures (sugov_policy, sugov_cpu, sugov_tunables)
- Frequency calculation formulas and IO wait boost
- Sequence diagrams for both fast and slow paths
- Debugging and tracing techniques

Based on Linux 6.19-rc7 kernel source code.

Co-authored-by: 15605196882 <15605196882@163.com>
Added comprehensive section on CPPC (Collaborative Processor Performance Control):
- CPPC uses the same schedutil framework as other drivers
- Fast switch condition depends on DESIRED_PERF register location
- System Memory/IO enables fast path, PCC requires slow path
- Detailed cppc_cpufreq_fast_switch() and cppc_set_perf() flow
- Complete call chains for both fast and slow paths with CPPC
- Comparison table: CPPC vs Intel P-State vs ACPI CPUFreq
- CPPC-specific debugging commands

This clarifies that CPPC frequency scaling follows the same
schedutil governor flow, with driver-layer differences.

Co-authored-by: 15605196882 <15605196882@163.com>
Detailed documentation covering:
- NOHZ_FULL (Full Dynticks/Adaptive Ticks) concepts and mechanisms
- Linux tick mechanism evolution (HZ_PERIODIC → NO_HZ_IDLE → NO_HZ_FULL)
- Working principles with state transition diagrams
- Kernel configuration options and boot parameters
- Housekeeping CPU mechanism and isolation types
- Tick dependency management API
- RCU callback offloading (rcu_nocbs)
- OS jitter sources and mitigation strategies
- Application scenarios:
  - Real-time systems
  - High Performance Computing (HPC)
  - Low-latency trading systems
  - Virtualization/cloud computing
- Best practice configurations with example scripts
- Debugging and verification techniques
- Known limitations and caveats

Based on kernel source analysis of tick-sched.c, isolation.c,
and official kernel documentation.

Co-authored-by: 15605196882 <15605196882@163.com>
@jackYoung0915 jackYoung0915 marked this pull request as ready for review January 31, 2026 08:00
cursoragent and others added 3 commits February 6, 2026 01:37
- 新增 1.5 节:PCIe 发展历程
  - 前 PCIe 时代(PCI 1.0 ~ PCI-X 2.0)
  - PCIe 各代际发展(1.0 ~ 7.0),包含技术要点、带宽参数、关键里程碑
  - 带宽演进时间线图
  - PCI-SIG 标准管理组织介绍

- 新增第 11 节:pci-utils 基本用法
  - 安装方式(多发行版)
  - lspci 详细用法及常用选项组合
  - setpci 读写配置空间寄存器用法
  - update-pciids 更新 PCI ID 数据库
  - 实用调试场景(链路降速排查、MSI-X 检查、未知设备识别、Bug 报告导出)
  - libpci 编程接口示例

- 更新目录和参考资料
- 文档版本更新为 1.1

Co-authored-by: Slim6882 <jackYoung0915@users.noreply.github.com>
- 为所有 11 个主章节补充二级子节目录
- 保持缩进对齐:1-9 章用 3 空格缩进,10-11 章用 4 空格缩进
- 所有子节标题均带有锚点链接,方便页内跳转

Co-authored-by: Slim6882 <jackYoung0915@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants