Hi Dave,

* Dave Voutila wrote:
> Looking for some broader testing of the following diff. It cleans up
> some complicated logic predominantly left over from the early days of
> vmd prior to its having a dedicated device thread.
> 
> In summary, this diff:
> 
> - Removes vionet "rx pending" state handling and removes the code path
>   for the vcpu thread to possibly take control of the virtio net device
>   and attempt a read of the underlying tap(4). (virtio.{c,h}, vm.c)
> 
> - Removes ns8250 "rcv pending" state handling and removes the code path
>   for the vcpu thread to read the pty via com_rcv(). (ns8250.{c,h})
> 
> In both of the above cases, the event handling thread will be notified
> of readable data and deal with it.
> 
> Why remove them? The logic is overly complicated and hard to reason
> about for zero gain. (This diff results in no intended functional
> change.) Plus, some of the above logic I helped add to deal with the
> race conditions and state corruption over a year ago. The logic was
> needed once upon a time, but shouldn't be needed at present.
> 
> I've had positive testing feedback from abieber@ so far with at least
> the ns8250/uart diff, but want to cast a broader net here with both
> before either part is committed. I debated splitting these up, but
> they're thematically related.

I have the diff running since one week on -current with stable/current
and an Archlinux guest and have noticed no regression so far.

Cheers

        Matthias

Reply via email to