Как отправлять сообщения через RDMA (Infiniband) из кода KVM в другой экземпляр KVM?

Я пытаюсь настроить канал RDMA между двумя экземплярами KVM. Я хочу отправить простую строку между двумя экземплярами с помощью RDMA (Infiniband) Verbs API из внутри гипервизора. Я не хочу ничего делать в пользовательском пространстве — должно быть задействовано чисто пространство ядра.

Я встречал пример кода для Verbs API, но он относится только к пользовательскому пространству. Может кто-нибудь указать мне пример кода для этого?

(В идеале я хотел бы сделать это из обработчика ошибок страниц, но пример кода, вероятно, не будет специфичным для того, где он вставляется в гипервизор, поэтому это просто дополнительная информация.)


person gohar94    schedule 06.03.2016    source источник


Ответы (1)


В ядре есть модули, которые используют RDMA под drivers/infiniband/ulp, хотя, поскольку они являются производственным кодом, а не образцом, они могут быть более сложными, чем вы хотите.

person haggai_e    schedule 07.03.2016
comment
Большое спасибо за это. Я ищу простой пример, чтобы открыть канал RDMA и передать строки. Вы можете помочь с этим? - person gohar94; 07.03.2016
comment
Боюсь, у меня нет такого примера под рукой. - person haggai_e; 07.03.2016