Messages in this thread | | | Date | Fri, 21 Dec 2012 15:40:51 +0200 | From | Ido Yariv <> | Subject | Re: [RFCv2 07/11] remoteproc: Register virtio devices after vring allocation |
| |
Hi Sjur,
On Fri, Dec 21, 2012 at 01:20:02PM +0100, Sjur BRENDELAND wrote: > Hi Ido, > > > From: Ido Yariv [mailto:ido@wizery.com] > > > Postpone the registration of virtio devices until all > > > vritio ring resource has been allocated. > > > This fixes the following bug: The driver's start callback > > > is called before all vring notify ids are allocated and > > > max_notifyid will be increased after starting the remoteproc. > > > > It seems that this patch wont solve this issue, since > > rproc_add_virtio_dev eventually increases max_notifyid, so the same > > problem will simply occur at a later stage. > > > > Also, it seems that the original rproc_add_virtio_dev calls were not > > removed, so devices would be added twice. > > Indeed. This was introduced by a faulty merge - I'll fix this up. > > > If max_notifyid needs to be set before the first virtio device is added, > > how about counting the number of notification ids in advance before > > adding the devices, by traversing the resource list twice? > > Ugh, thanks I missed this. How about calling rproc_alloc_vring from > rproc_parse_vring so that the resource allocation are done before > the virtio devices are started?
I don't think that would solve it - rproc_parse_vring is called from rproc_handle_vdev which is called more than once (for each vdev), so max_notifyid could still be increased after the first call to rproc_add_virtio_dev.
> BTW, I think most of the other review comments from you are OK. I'll > try to address them in my next patch-set sometime early next year.
Great, thanks! Happy new year :)
Ido.
| |