mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Fabio Brugnara <brugnara@itc.it>
Cc: linux-kernel@vger.kernel.org
Subject: Re: problem with mmap over nfs
Date: Fri, 6 May 2005 04:54:46 -0700	[thread overview]
Message-ID: <20050506045446.1deba35d.akpm@osdl.org> (raw)
In-Reply-To: <20050506095023.GS9742@maestoso.itc.it>

Fabio Brugnara <brugnara@itc.it> wrote:
>
> 	The problem is related to the use of memory mapped files over a nfs
>  mounted filesystem. In a rather complex system (speech recognition) that we
>  developed and use, we need to share large read-only data structures between
>  different processes, also on several machines. Until a few months ago, we
>  observed that it was perfectly adequate to just mmap() a file residing on a
>  particular disk, that machines other as the owner mounted via nfs. This was
>  very convenient, as we had only a single physical copy of the data
>  structure, and it did not introduce any significant performance penalty. We
>  have used this method for years.
>  	Now, after the machines have been upgraded to kernel 2.6.10 from
>  kernel 2.4.20, something disappointing happens. Everything still works
>  correctly, but somehow it introduces a massive slowdown of the machines.
>  While the processes are running, the machines that map the shared file via
>  nfs (not the one that owns it) report (with "top") a very high usage of
>  system time (e.g. 50% or more), and also become very unresponsive at the
>  shell prompt.

Could you please generate a kernel profile?

- Compile with CONFIG_PROFILING

- Start the workload, wait for steady state.

- As root, run:

#!/bin/sh

SM=/boot/System.map
TIMEFILE=/tmp/prof.time
readprofile -r
sleep 10
readprofile -n -v -m $SM | sort -n +2 | tail -40 | tee $TIMEFILE >&2

(make sure that /boot/System.map is from the currently-running kernel)

More in Documentation/basic_profiling.txt



Even better, learn to drive oprofile.  Once it's running properly I usually
use this silly script:

#!/bin/sh
opcontrol --stop
opcontrol --shutdown
rm -rf /var/lib/oprofile
opcontrol --vmlinux=/boot/vmlinux-$(uname -r)
opcontrol --start-daemon
opcontrol --start
sleep 10
opcontrol --stop
opcontrol --shutdown
opreport -l /boot/vmlinux-$(uname -r) | head -50


  reply	other threads:[~2005-05-06 11:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-06  9:50 Fabio Brugnara
2005-05-06 11:54 ` Andrew Morton [this message]
2005-05-06 12:20   ` Fabio Brugnara
2005-05-12  8:00   ` Fabio Brugnara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050506045446.1deba35d.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=brugnara@itc.it \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®