Files
document-haness/docs/virtualization/final/assets/diagrams/virtio-balloon-inflate-deflate/virtio-balloon-inflate-deflate.alt.md
T

34 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# balloon target 은 VM Boundary 를 건너 driver 에 닿고 확보한 page 는 같은 경계를 되건너 온다
## Alternative text
virtio-balloon Driver, virtqueue, QEMU virtio-balloon Device, Host Memory Management 네 참여자 사이의 순서도. 앞 세 메시지는 오른쪽에서 왼쪽으로 Guest 안으로 들어가고 뒤 세 메시지는 왼쪽에서 오른쪽으로 Host 로 돌아온다.
## Long description
참여자는 왼쪽부터 Guest kernel 의 virtio-balloon Driver, virtqueue, QEMU virtio-balloon Device, Host Memory Management 네 개다. 메시지는 위에서 아래로 읽는다. 1번은 Host Memory Management 가 QEMU 쪽 device 에 balloon target 조정을 보내는 것이고, 2번에서 그 요청이 virtqueue 로 내려가면서 VM Boundary 를 넘고, 3번에서 Guest kernel 의 driver 에 balloon target 이 닿는다. 여기서 방향이 바뀐다. 4번에서 driver 가 확보한 Guest page 를 virtqueue 에 올리고, 5번에서 그것이 다시 VM Boundary 를 넘어 QEMU 쪽 device 로 가고, 6번에서 device 가 Host Memory Management 에 회수 가능 backing 으로 넘긴다. target 을 올릴 때와 내릴 때 Guest 가 쓸 수 있는 memory 가 어느 쪽으로 움직이는지는 본문의 표가 맡는다.
## Elements and evidence
- **virtio-balloon Driver** (driver): Guest kernel 쪽 balloon driver. target 을 받아 Guest page 를 확보한다. Evidence: L3013L3015, L3046L3046.
- **virtqueue** (queue): Guest 와 QEMU 가 balloon 요청을 주고받는 공유 큐. VM Boundary 바로 안쪽이다. Evidence: L3017L3017.
- **QEMU virtio-balloon
Device** (service): Host 쪽 balloon device. 경계를 넘어온 내용을 Host memory management 로 넘긴다. Evidence: L3022L3022, L3037L3041.
- **Host Memory
Management** (service): balloon target 을 정하는 쪽이자 회수 기회가 생기는 자리. Evidence: L3025L3025, L3034L3037.
## Relationships
- **Host Memory
Management → QEMU virtio-balloon
Device:** Balloon target 조정. Evidence: L3034L3041.
- **QEMU virtio-balloon
Device → virtqueue:** VM Boundary. Evidence: L3017L3022, L3041L3046.
- **virtqueue → virtio-balloon Driver:** Balloon target. Evidence: L3013L3017, L3043L3046.
- **virtio-balloon Driver → virtqueue:** Guest pages 확보. Evidence: L3046L3050.
- **virtqueue → QEMU virtio-balloon
Device:** VM Boundary. Evidence: L3017L3025.
- **QEMU virtio-balloon
Device → Host Memory
Management:** 회수 가능 backing. Evidence: L3022L3028, L3077L3079.