flowchart TD
  subgraph GPU
    slot-0[HW Run Queue]
    slot-1[HW Run Queue]
    slot-2[HW Run Queue]
  end

  sched0[drm_gpu_scheduler]
  sched1[drm_gpu_scheduler]
  sched2[drm_gpu_scheduler]

  runq00[drm_sched_rq<br>KERNEL]
  runq01[drm_sched_rq<br>HIGH]
  runq02[drm_sched_rq<br>NORMAL]
  runq03[drm_sched_rq<br>LOW]

  runq10[drm_sched_rq<br>KERNEL]
  runq11[drm_sched_rq<br>HIGH]

  runq20[drm_sched_rq<br>KERNEL]
  runq21[drm_sched_rq<br>HIGH]
  runq22[drm_sched_rq<br>NORMAL]

  entity00@{shape: docs, label: "drm_sched_entity<br>job chain"}
  entity01@{shape: docs, label: "drm_sched_entity<br>job chain"}
  entity02@{shape: docs, label: "drm_sched_entity<br>job chain"}
  entity03@{shape: docs, label: "drm_sched_entity<br>job chain"}

  entity10@{shape: docs, label: "drm_sched_entity<br>job chain"}
  entity11@{shape: docs, label: "drm_sched_entity<br>job chain"}
  entity12@{shape: docs, label: "drm_sched_entity<br>job chain"}


  entity20@{shape: docs, label: "drm_sched_entity<br>job chain"}
  entity21@{shape: docs, label: "drm_sched_entity<br>job chain"}
  entity22@{shape: docs, label: "drm_sched_entity<br>job chain"}

  entity00 --> entity01 --> entity02 --> entity03 --> runq00
  entity10 --> entity11 --> entity12 --> runq10
  entity20 --> entity21 --> entity22 --> runq02

  runq00 --> sched0
  runq01 --> sched0
  runq02 --> sched0
  runq03 --> sched0

  runq10 --> sched1
  runq11 --> sched1

  runq20 --> sched2
  runq21 --> sched2
  runq22 --> sched2

  sched0 --> slot-0
  sched1 --> slot-1
  sched2 --> slot-2
Read more »

小小的人儿

攥不住流淌的昼与夜

当你舞动手中的仙女棒

却仿佛在挥洒银河

捂住双耳

不为那凛凛的冰寒

只等花儿在星星眼前开放

仍怀抱静谧和安然

这年初二

我们仨

凤翔城里看凤翔

往后余生

翔凤桥头不彷徨

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
VCE feature version: 0, firmware version: 0x00000000
UVD feature version: 0, firmware version: 0x40000d00
MC feature version: 0, firmware version: 0x00a777d0
ME feature version: 29, firmware version: 0x00000091
PFP feature version: 29, firmware version: 0x00000054
CE feature version: 29, firmware version: 0x0000003d
RLC feature version: 1, firmware version: 0x00000001
RLC SRLC feature version: 0, firmware version: 0x00000000
RLC SRLG feature version: 0, firmware version: 0x00000000
RLC SRLS feature version: 0, firmware version: 0x00000000
RLCP feature version: 0, firmware version: 0x00000000
RLCV feature version: 0, firmware version: 0x00000000
MEC feature version: 0, firmware version: 0x00000000
IMU feature version: 0, firmware version: 0x00000000
SOS feature version: 0, firmware version: 0x00000000
ASD feature version: 0, firmware version: 0x00000000
TA XGMI feature version: 0x00000000, firmware version: 0x00000000
TA RAS feature version: 0x00000000, firmware version: 0x00000000
TA HDCP feature version: 0x00000000, firmware version: 0x00000000
TA DTM feature version: 0x00000000, firmware version: 0x00000000
TA RAP feature version: 0x00000000, firmware version: 0x00000000
TA SECUREDISPLAY feature version: 0x00000000, firmware version: 0x00000000
SMC feature version: 0, program: 16, firmware version: 0x10020000 (2.0.0)
SDMA0 feature version: 0, firmware version: 0x00000000
SDMA1 feature version: 0, firmware version: 0x00000000
VCN feature version: 0, firmware version: 0x00000000
DMCU feature version: 0, firmware version: 0x00000000
DMCUB feature version: 0, firmware version: 0x00000000
TOC feature version: 0, firmware version: 0x00000000
MES_KIQ feature version: 0, firmware version: 0x00000000
MES feature version: 0, firmware version: 0x00000000
VBIOS version: 113-xxx-xxx
Read more »

Power State

Level State Power Command
(systemctl)
S0 idle full N/A
S1 sleep low N/A
S2 deeper sleep lower N/A
S3 suspend to RAM CPU off RAM on suspend
S4 suspend to DISK Most devices off hibernate
S5 shutdown completely off poweroff
Read more »

QEMU

特性 QEMU VirtualBox
开发者 开源(QEMU 项目, 最初由 Fabrice Bellard 开发) Oracle(原 Sun Microsystems)
开源/闭源 完全开源(GPLv2) 部分开源(扩展包闭源)
支持架构 x86, ARM, RISC-V, MIPS, LoongArch, SPARC等 仅 x86_64
是否支持纯软件模拟 支持(TCG 模拟,也支持 KVM 加速) 不支持(必须 Intel VT-x/AMD-V)
适用场景 嵌入式开发, 跨架构仿真 桌面用户运行 Win/Linux
Read more »

virtio - 半虚拟化设备标准

对比项 全虚拟化(Emulated) Virtio(半虚拟化) SR-IOV(直通)
性能 ❌ 低(模拟开销大) ✅ 高 ✅✅ 超高(硬件直通)
驱动支持 无需额外驱动(但慢) 需要Virtio 驱动 需要物理设备驱动
适用场景 适用于无 Virtio 支持的旧 OS 普遍适用于 VM 适用于高性能网络存储
硬件需求 无特殊需求 无特殊需求 需要硬件支持
Read more »

flowchart TB
  subgraph p [Main Thread]
    subgraph p0 ["piglit_drm_create_dma_buf()"]
      p.a["drv->create(w, h, fourcc, src_data, drm_buf)"]
      p.b["drv->export(drm_buf)"]
    end
  end
  subgraph t1 [Thread 1]
    subgraph lo11 [Loop 1]
      t1.a["eglCreateContext()"]
      t1.b["eglMakeCurrent()"]
      t1.c["egl_image_for_dma_buf_fd<br>(buf, fd, fourcc, img)"]
      t1.d["texture_for_egl_image(img, texture)"]
      t1.e["eglDestroyImageKHR(display, img)"]
      t1.f["glDeleteTextures(1, &texture)"]
      t1.g["glFinish()"]
    end
  end

  subgraph t2 [Thread 2]
    subgraph lo21 [Loop 1]
      t2.a["eglCreateContext()"]
      t2.b["eglMakeCurrent()"]
      t2.c["egl_image_for_dma_buf_fd<br>(buf, fd, fourcc, img)"]
      t2.d["texture_for_egl_image(img, texture)"]
      t2.e["eglDestroyImageKHR(display, img)"]
      t2.f["glDeleteTextures(1, &texture)"]
      t2.g["glFinish()"]
    end
  end

  p.a --> p.b

  t1.a --> t1.b --> t1.c --> t1.d --> t1.e --> t1.f --> t1.g
  t2.a --> t2.b --> t2.c --> t2.d --> t2.e --> t2.f --> t2.g

  p --> t1
  p --> t2

  lo11 -- 100000 times --> lo11
  lo21 -- 100000 times --> lo21

  click p.a https://gitlab.freedesktop.org/mesa/piglit/-/blob/main/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c#L519"
  click p.b https://gitlab.freedesktop.org/mesa/piglit/-/blob/main/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c#L519"
Read more »
0%