Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Apr 2018 23:03:34 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Niels Kobschaetzki <niels@kobschaetzki.net>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: High rate of NFS cache misses after upgrading from 10.3-prerelease to 11.1-release
Message-ID:  <YQBPR0101MB10425CBA8FD04706D0CB9369DDB00@YQBPR0101MB1042.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <a2c63a00-d672-e626-127b-ba0a350371e1@kobschaetzki.net>
References:  <ce3712c0-626e-c8f2-3bba-933cf359bcef@kobschaetzki.net> <YQBPR0101MB1042D2F0CE2575EB4F17588ADDB20@YQBPR0101MB1042.CANPRD01.PROD.OUTLOOK.COM>, <a2c63a00-d672-e626-127b-ba0a350371e1@kobschaetzki.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Niels Kobschaetzki wrote:
[stuff smipped]
>I just checked the code to see if I can figure out where exactly I have
>to put the printf(). And then I saw that there are ifdefs for
>NFS_ACDEBUG which seems to be a kernel option. When I add NFS_ACDEBUG in
>the config-file for the kernel, the build fails with an
I don't have sources handy right now, but you can probably just put a line
like:
#define NFS_ACDEBUG 1
at the top of the file /usr/src/sys/fs/nfsclient/nfs_clsubs.c

After building/booting the kernel "sysctl -a" should have a
vfs.nfs.acdebug
in the list. Set it to "1" to get the basic timeout info.

>/usr/src/sys/amd64/conf/ACDEBUG: unknown option "NFS_ACDEBUG"
>
>I looked in sysctl.h and there it isn't defined. Do I do something wrong
>or did this sysctl-tunable got lost at some point in time?
>Can I just use this code by removing the ifdef for getting information?
>
>Sorry, my C is not really existent, thus I have to ask :/
>
>The parts (except the part that looks at the sysctl looks like this):
>#ifdef NFS_ACDEBUG
>        if (nfs_acdebug>1)
>               printf("ncl_getattrcache: initial timeo =3D %d\n", timeo);
>#endif
>
>=85=85
>
>
>#ifdef NFS_ACDEBUG
>        if (nfs_acdebug > 2)
>                printf("acregmin %d; acregmax %d; acdirmin %d; acdirmax
>%d\n",
>                    nmp->nm_acregmin, nmp->nm_acregmax,
>                    nmp->nm_acdirmin, nmp->nm_acdirmax);
>
>        if (nfs_acdebug)
>                printf("ncl_getattrcache: age =3D %d; final timeo =3D %d\n=
",
>                    (time_second - np->n_attrstamp), timeo);
>#endif
>
>
>I would remove the ifdefs and the "if (nfs_acdebug =85)"
This would work, too, rick



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