linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Possible eHEA performance issue
@ 2007-07-20  3:02 Michael Neuling
  2007-07-20  8:17 ` Thomas Klein
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Neuling @ 2007-07-20  3:02 UTC (permalink / raw)
  To: Thomas Klein, Jan-Bernd Themann, netdev, Christoph Raisch,
	Stefan Roscher, linux-ppc
  Cc: anton

>From ehea_start_xmit in ehea_main.c we have:

    if (unlikely(atomic_read(&pr->swqe_avail) <= 1)) {
	    spin_lock_irqsave(&pr->netif_queue, flags);
	    if (unlikely(atomic_read(&pr->swqe_avail) <= 1)) {
		    pr->p_stats.queue_stopped++;
		    netif_stop_queue(dev);
		    pr->queue_stopped = 1;
	    }
	    spin_unlock_irqrestore(&pr->netif_queue, flags);
    }

Since the conditions are the same, isn't it likely that the second 'if'
is going to be taken.  Hence, shouldn't the second 'unlikely' hint be
removed or even changed to likely?

Either way, some documentation here as to why it's done this way would
be useful.  I assume the atomic_read is cheap compared to the
spin_unlock_irqsave, so we quickly check swqe_avail before we check it
again properly with the lock on so we can change some stuff.

Mikey

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-07-20  8:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-20  3:02 Possible eHEA performance issue Michael Neuling
2007-07-20  8:17 ` Thomas Klein

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).