lkml.org 
[lkml]   [2013]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/3] softirq: Use ffs in __do_softirq
    On Mon, Dec 09, 2013 at 10:56:46AM -0800, Joe Perches wrote:
    > On Mon, 2013-12-09 at 19:44 +0100, Frederic Weisbecker wrote:
    > > On Sun, Nov 17, 2013 at 01:55:10AM -0800, Joe Perches wrote:
    > > > Possible speed improvement of the __do_softirq function by using ffs
    > > > instead of using a while loop with an & 1 test then single bit shift.
    > []
    > > Perhaps using for_each_set_bit() would simplify that more?
    >
    > It might simplify the appearance of the code but it
    > would/could expand the amount of generated code because
    > for_each_set_bit uses an address_of(unsigned long) and
    > the value tested is an unsigned int.
    >
    > extra dereferences, can't be in a register, etc...

    I'm not sure that would matter that much. But yeah it appears that find_first_bit/find_next_bit
    aren't even overriden in x86. So they are function calls. Although I guess that most
    of the time only one softirq is pending at a time.

    But anyway perhaps we want that path to stay very optimized, so you're
    patch look ok.

    Thanks.


    \
     
     \ /
      Last update: 2013-12-09 20:41    [W:3.832 / U:0.424 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site