Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Aug 2013 15:01:17 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Scott Long <scottl@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r253460 - head/sys/dev/mps
Message-ID:  <52077D0D.8090607@FreeBSD.org>
In-Reply-To: <201307190012.r6J0Cg1r027645@svn.freebsd.org>
References:  <201307190012.r6J0Cg1r027645@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 19.07.2013 03:12, Scott Long wrote:
> Author: scottl
> Date: Fri Jul 19 00:12:41 2013
> New Revision: 253460
> URL: http://svnweb.freebsd.org/changeset/base/253460
>
> Log:
>    Overhaul error, information, and debug logging.
>
>    Obtained from:	Netflix
>    MFC after:	3 days
>
> Modified:
>    head/sys/dev/mps/mps.c
>    head/sys/dev/mps/mps_mapping.c
>    head/sys/dev/mps/mps_pci.c
>    head/sys/dev/mps/mps_sas.c
>    head/sys/dev/mps/mps_sas_lsi.c
>    head/sys/dev/mps/mps_table.c
>    head/sys/dev/mps/mps_user.c
>    head/sys/dev/mps/mpsvar.h

This change created significant CPU overhead under high I/O rate (350K 
IOPS) because several functions inside mpssas_log_command() are now 
writing into the buffer that is just discarded after that. The following 
simple patch seems fixes the situation for me:

Index: mps_sas.c
===================================================================
--- mps_sas.c   (revision 254181)
+++ mps_sas.c   (working copy)
@@ -304,7 +304,7 @@ mpssas_log_command(struct mps_command *cm, u_int l
         char str[192];
         char path_str[64];

-       if (cm == NULL)
+       if (cm == NULL || (cm->cm_sc->mps_debug & level) == 0)
                 return;

         sbuf_new(&sb, str, sizeof(str), 0);


-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52077D0D.8090607>