es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Podemos configurar las capacidades de dispositivo y los registros de control del tamaño máximo de carga útil de PCie (MPS)?

Tengo un dispositivo PCIe endpoint(Xilinx DMA) con 1024 MPS que está conectado a una CPU Intel a través de un interruptor PCIe.
En el sistema Linux, lspci muestra 1024 MPS en el registro DevCap para este endpoint, pero se enumera con solo 128 MPS en el registro DevCtl.

Muchos otros dispositivos también están conectados al mismo puerto del puente PCIe con diferentes capacidades MPS.

En el mismo árbol, algunos dispositivos tienen capacidades máximas de MPS de solo 128 (como VT-d, APIC, etc.) y algunos dispositivos como XDMA tienen soporte para MPS de 1024 bytes.

Por lo tanto, todos los dispositivos se enumeran con el tamaño mínimo de MPS que es 128. Adjunto una captura de pantalla para mostrar el árbol y el tamaño de MPS.

Dos preguntas:
1) ¿Podemos aumentar el tamaño de MPS en los registros de capacidades de dispositivo (DevCap)? (Muy poco probable, pero solo quiero confirmar)
2) ¿Podemos aumentar el tamaño de MPS en los registros de control de dispositivo (DevCtl) para el controlador Xilinx DMA [f3:00.0] o la GPU NVIDIA [f4:00.0] que se muestra en la captura de pantalla?

Gracias y saludos,
Hardik

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    1) Es poco probable que podamos aumentar el tamaño del MPS en los registros de capacidades del dispositivo (DevCap). Los registros DevCap contienen información sobre el tamaño máximo del MPS que el dispositivo puede admitir, y esto suele estar fijado por el diseño del hardware.

    2) Es posible que se pueda aumentar el tamaño del MPS en los registros de control del dispositivo (DevCtl) para el controlador DMA de Xilinx y la GPU de NVIDIA. Sin embargo, esto depende de si el hardware admite tamaños de MPS más grandes que los que se están utilizando actualmente. Cambiar el tamaño del MPS en los registros de DevCtl también puede requerir cambios en el firmware y en la pila de software para admitir correctamente el tamaño de MPS más grande.

    Se recomienda consultar la documentación y las especificaciones del hardware para determinar el tamaño máximo del MPS que es admitido por el dispositivo y el conmutador PCIe, y consultar con el proveedor o fabricante del hardware para obtener orientación sobre cómo realizar cambios en el tamaño del MPS.

Comments are closed.