Bug 4506 - [ANCK-5.10-14][Bugfix] 允许机密虚拟机的swiotlb在高地址分配内存
Summary: [ANCK-5.10-14][Bugfix] 允许机密虚拟机的swiotlb在高地址分配内存
Status: NEW
Alias: None
Product: ANCK 5.10 Dev
Classification: ANCK
Component: virt (show other bugs) virt
Version: 5.10.y-14
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: zeyuzhang
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-14 12:04 UTC by zeyuzhang
Modified: 2023-03-15 15:42 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zeyuzhang 2023-03-14 12:04:08 UTC
Description of problem:
当前机密虚拟机的IO完全依赖于swiotlb,由于swiotlb默认在低地址分配内存,并要求大块的连续地址空间,因此在测试AMD SEV中我们发现了如下问题:
1. 实例启停测试时部分机器启动失败,kernel panic
2. 大规格实例插入两张网卡时 IO Hang

经排查分别是因为:
1. 虚拟化组件提供的4G以下的内存空间过于松散,并且由于开启kaslr后部分内存的分配会打断大块的连续地址空间,从而导致swiotlb无法分配出内存而失败
2. 某些大规格实例的网卡对IO内存要求极高,需要配置极大的swiotlb才能满足这些大规格的多网卡使用,但是swiotlb机制限制在4G以下分配内存,先天限制了io内存的使用上线

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. 机器多次启停
2. 128c大规格机器插入多张网卡(非机密虚拟机可以配置swiotlb=522144,force)

Actual results:
kernel panic & IO Hang

Expected results:
运行正常

Additional info:
Comment 1 zeyuzhang 2023-03-15 15:40:39 UTC
具体改动方案有争议,本次rc2先不合入
Comment 2 zeyuzhang 2023-03-15 15:42:55 UTC
本Bug是由swiotlb的先天设计不足引入,只是最近机密虚拟机的测试强度增大,因此体现了出来了。该问题不会影响非机密虚拟机的场景,对正常用户业务影响不大