34 lines
2.5 KiB
Markdown
34 lines
2.5 KiB
Markdown
# 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: L3013–L3015, L3046–L3046.
|
||
- **virtqueue** (queue): Guest 와 QEMU 가 balloon 요청을 주고받는 공유 큐. VM Boundary 바로 안쪽이다. Evidence: L3017–L3017.
|
||
- **QEMU virtio-balloon
|
||
Device** (service): Host 쪽 balloon device. 경계를 넘어온 내용을 Host memory management 로 넘긴다. Evidence: L3022–L3022, L3037–L3041.
|
||
- **Host Memory
|
||
Management** (service): balloon target 을 정하는 쪽이자 회수 기회가 생기는 자리. Evidence: L3025–L3025, L3034–L3037.
|
||
|
||
## Relationships
|
||
|
||
- **Host Memory
|
||
Management → QEMU virtio-balloon
|
||
Device:** Balloon target 조정. Evidence: L3034–L3041.
|
||
- **QEMU virtio-balloon
|
||
Device → virtqueue:** VM Boundary. Evidence: L3017–L3022, L3041–L3046.
|
||
- **virtqueue → virtio-balloon Driver:** Balloon target. Evidence: L3013–L3017, L3043–L3046.
|
||
- **virtio-balloon Driver → virtqueue:** Guest pages 확보. Evidence: L3046–L3050.
|
||
- **virtqueue → QEMU virtio-balloon
|
||
Device:** VM Boundary. Evidence: L3017–L3025.
|
||
- **QEMU virtio-balloon
|
||
Device → Host Memory
|
||
Management:** 회수 가능 backing. Evidence: L3022–L3028, L3077–L3079.
|