svn commit: r259659 - in head/sys: nfs rpc

Steve Kargl sgk at troutmask.apl.washington.edu
Sat Dec 21 07:09:20 UTC 2013


On Fri, Dec 20, 2013 at 05:39:07PM +0000, Alexander Motin wrote:
> Author: mav
> Date: Fri Dec 20 17:39:07 2013
> New Revision: 259659
> URL: http://svnweb.freebsd.org/changeset/base/259659
> 
> Log:
>   Remove several linear list traversals per request from RPC server code.
>   
>     Do not insert active ports into pool->sp_active list if they are success-
>   fully assigned to some thread.  This makes that list include only ports that
>   really require attention, and so traversal can be reduced to simple taking
>   the first one.
>   
>     Remove idle thread from pool->sp_idlethreads list when assigning some
>   work (port of requests) to it.  That again makes possible to replace list
>   traversals with simple taking the first element.
> 
> Modified:
>   head/sys/nfs/nfs_fha.c
>   head/sys/rpc/svc.c
>   head/sys/rpc/svc.h

FYI.

cc  -c -O -pipe -march=core2 -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality  -nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -mno-aes -mno-avx -mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -Werror  /usr/src/sys/rpc/svc.c
/usr/src/sys/rpc/svc.c:296:20: error: no member named 'xp_mlock' in
      'struct __rpc_svcxprt'; did you mean 'xp_lock'?
        mtx_assert(&xprt->xp_mlock, MA_OWNED);
                          ^
/usr/src/sys/sys/mutex.h:379:15: note: expanded from macro 'mtx_assert'
        mtx_assert_((m), (what), __FILE__, __LINE__)
                     ^
/usr/src/sys/sys/mutex.h:359:15: note: expanded from macro 'mtx_assert_'
        _mtx_assert((m), (what), (file), (line))
                     ^
/usr/src/sys/sys/mutex.h:158:17: note: expanded from macro '_mtx_assert'
        __mtx_assert(&(m)->mtx_lock, w, f, l)
                       ^
/usr/src/sys/rpc/svc.h:149:12: note: 'xp_lock' declared here
        struct sx       xp_lock;
                        ^
/usr/src/sys/rpc/svc.c:296:2: error: no member named 'mtx_lock' in 'struct sx';
      did you mean 'sx_lock'?
        mtx_assert(&xprt->xp_mlock, MA_OWNED);
        ^
/usr/src/sys/sys/mutex.h:379:2: note: expanded from macro 'mtx_assert'
        mtx_assert_((m), (what), __FILE__, __LINE__)
        ^
/usr/src/sys/sys/mutex.h:359:2: note: expanded from macro 'mtx_assert_'
        _mtx_assert((m), (what), (file), (line))
        ^
/usr/src/sys/sys/mutex.h:158:21: note: expanded from macro '_mtx_assert'
        __mtx_assert(&(m)->mtx_lock, w, f, l)
                           ^
/usr/src/sys/sys/_sx.h:39:21: note: 'sx_lock' declared here
        volatile uintptr_t      sx_lock;


-- 
steve


More information about the svn-src-head mailing list