[PATCH] remoteproc: allocate vrings on demand, free when not needed

Ohad Ben-Cohen ohad at wizery.com
Sun Jul 15 05:10:17 EDT 2012


On Sun, May 20, 2012 at 3:00 PM, Ohad Ben-Cohen <ohad at wizery.com> wrote:
> Dynamically allocate the vrings' DMA when the remote processor
> is about to be powered on (i.e. when ->find_vqs() is invoked),
> and release them as soon as it is powered off (i.e. when ->del_vqs()
> is invoked).
>
> The obvious and immediate benefit is better memory utilization, since
> memory for the vrings is now only allocated when the relevant remote
> processor is being used.
>
> Additionally, this approach also makes recovery of a (crashing)
> remote processor easier: one just needs to remove the relevant
> vdevs, and the entire vrings cleanup takes place automagically.
>
> Tested-by: Fernando Guzman Lugo <fernando.lugo at ti.com>
> Signed-off-by: Ohad Ben-Cohen <ohad at wizery.com>
> ---
>  drivers/remoteproc/remoteproc_core.c     |  109 +++++++++++++++---------------
>  drivers/remoteproc/remoteproc_internal.h |    2 +
>  drivers/remoteproc/remoteproc_virtio.c   |   13 +++-
>  3 files changed, 67 insertions(+), 57 deletions(-)

Applied.



More information about the linux-arm-kernel mailing list