PRU /dev/rpmsg_pruXX is not closed when PRU stopped and queue was fully consumed
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- c, linux
Línea de trabajo
Reproduce el problema con los comandos PRU_RPMsg_Echo_Interrupt0 y, después, sigue las rutas del kernel que gestionan el descriptor /dev/rpmsg_pru30 cuando remoteproc1 está detenido. Se considera terminado cuando un lector bloqueado en cat recibe una condición clara de fin de flujo después de que la PRU se detenga y la cola se consuma.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
To reproduce the problem:
cd /tmp
git clone git://git.ti.com/pru-software-support-package/pru-software-support-package.git
cd /tmp/pru-software-support-package/examples/am335x/PRU_RPMsg_Echo_Interrupt0
export PRU_CGT=/usr/share/ti/cgt-pru
make
cp gen/PRU_RPMsg_Echo_Interrupt0.out /lib/firmware/am335x-pru0-fw
echo start > /sys/class/remoteproc/remoteproc1/state
Now dmesg will show:
[ 142.480770] remoteproc remoteproc1: powering up 4a334000.pru
[ 142.487884] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 74432
[ 142.500918] pruss 4a300000.pruss: configured system_events[63-0] = 0x00000000.00030000
[ 142.511928] pruss 4a300000.pruss: configured intr_channels = 0x00000005 host_intr = 0x00000005
[ 142.528225] remoteproc remoteproc1: registered virtio0 (type 7)
[ 142.540164] remoteproc remoteproc1: remote processor 4a334000.pru is now up
[ 142.597314] virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e
[ 142.605230] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 142.641390] rpmsg_pru virtio0.rpmsg-pru.-1.30: new rpmsg_pru device: /dev/rpmsg_pru30
Then do:
echo hello > /dev/rpmsg_pru30
And open a new console and execute this without killing cat, keep it active:
# cat /dev/rpmsg_pru30
hello
Now stop the PRU:
echo stop > /sys/class/remoteproc/remoteproc1/state
dmesg will show:
[ 163.736825] pruss 4a300000.pruss: unconfigured system_events[63-0] = 0x00000000.00030000
[ 163.755473] pruss 4a300000.pruss: unconfigured host_intr = 0x00000005
[ 163.773323] remoteproc remoteproc1: stopped remote processor 4a334000.pru
And now /dev/rpmsg_pru30 is removed but cat has the file descriptor opened. The problem is cat DOESN'T STOP. I think the correct kernel behaviour is to close the file descriptor after the PRU is stopped and the queue is fully consumed, so the user-space program has a way to know it needs to finish.
- Lenguaje dominante
- C
- Estrellas
- 812
- Forks
- 582
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de beagleboard/linux
-
Greybus fetch firmware request incorrect signatureQuizá libre de nuevo @Ayush1325 la tomó hace 347 días y no hay ningún pull request abierto. Abierto
beagleboard/linux#295 · 1 asignado ·
-
MikroBus and Beagle CapesQuizá libre de nuevo @Ayush1325 la tomó hace 413 días y no hay ningún pull request abierto. Abiertoupstream
beagleboard/linux#292 · 1 asignado ·
-
ITE mainlineAbiertoupstream
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
beagleboard/linux#291 · 2 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
beagleboard/linux#290 · 4 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
beagleboard/linux#284 · 1 comentario ·
Todos los issues de beagleboard/linux
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
darktable-org/darktable#22455 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area:ci kind:gate-defect
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
InauguralSystems/EigenScript#1448 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
BasedHardware/omi#20084 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
raspberrypi/pico-sdk#3225 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100