Messages in this thread | | | Date | Sun, 11 Nov 2012 17:12:19 +0100 | From | Krzysztof Mazur <> | Subject | Re: [PATCH v3 8/7] pppoatm: fix missing wakeup in pppoatm_send() |
| |
On Sun, Nov 11, 2012 at 03:26:41PM +0000, David Woodhouse wrote: > On Sun, 2012-11-11 at 14:50 +0100, Krzysztof Mazur wrote: > > Looks and works ok after: > > + atmvcc->unlock_cb = pppoatm_unlock_cb; > > Heh, yeah. That would probably help :) > > Not sure if it's really necessary to optimise out the unneeded wakeups ??? > I don't think that code path gets exercised very hard for normal passing > of packets. Maybe only LCP echo and responses, on a live connection? > > But yeah, the locking *is* that simple, isn't it ??? and not the painful > stuff I had to do for the BLOCKED flag, which is why I deferred that > question to concentrate on the basic concept of using ->release_cb(). > > So it's silly *not* to do the 'need_wakeup'. But could it also live in > the 'blocked' word rather than expanding the structure further? Or just > *use* the BLOCKED bit, for that matter? >
It would require using atomic ops because also pppoatm_pop() can modify this word. I think it's better to add additional word instead of using atomic ops.
Krzysiek
| |