public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Robert Love <rml@tech9.net>
To: Dave Jones <davej@codemonkey.org.uk>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: yet another update to the post-halloween doc.
Date: 06 Nov 2002 11:18:01 -0500	[thread overview]
Message-ID: <1036599481.3405.1080.camel@phantasy> (raw)
In-Reply-To: <20021106140844.GA5463@suse.de>

On Wed, 2002-11-06 at 09:08, Dave Jones wrote:

Hey Dave, good job!

One idea: how about covering new system calls?  We have the thread calls
Ingo did, the sched_[set|get]affinity calls, AIO, etc.

Couple points...

> Kernel preemption.
> ~~~~~~~~~~~~~~~~~~
> - The much talked about preemption patches made it into 2.5.
>   With this included you should notice much lower latencies especially
>   in demanding multimedia applications. 
> - Note, there are still cases where preemption must be temporarily disabled
>   where we do not.  If you get "xxx exited with preempt count=n" messages
>   in syslog, don't panic, these are non fatal, but are somewhat unclean.
> - Report such cases (and any other preemption related problems) to
>   rml@tech9.net

I just want to clarify that, in the second point, the "xxx exited with
preempt_count=n" message and not disabling preemption are two different
issues.

The "xxx exited" message is a general debugging notice that a lock was
not dropped.  Relevant to the whole system (regardless of preemption,
possibly) but a real problem for preemption because the lock count is
off.

Not disabling preemption where needed is like an SMP race condition. 
There may be a some per-CPU data left that needs explicit protection but
hopefully not much.

Finally, if you DO notice high latency with kernel preemption enabled in
a specific code path, please report that to Andrew Morton
<akpm@digeo.com> and myself <rml@tech9.net>.  We consider those bugs. 
The report should be something like "the latency in my xyz application
hits xxx ms when I do foo but is normally yyy" where foo is an action
like "unlink a huge directory tree".

> procps
> ~~~~~~
> - The 2.5 /proc filesystems changed some statistics, which confuse
>   older versions of procps. Rik van Riel and Robert Love have
>   been maintaining a version of procps during the 2.5 cycle which
>   tracks changes to /proc which you can find at http://tech9.net/rml/procps/
> - Alternatively, the original procps by Albert Cahalan now supports
>   the altered formats since v3.0.5, but lags behind the bleeding edge
>   version maintained by Rik and Robert. -- http://procps.sf.net/
> - The /proc/meminfo format changed slightly which also broke
>   gtop in strange ways.

Just a note that the tree Rik and I are hacking on is the original and
not a fork.  It is the same tree mkj created and is in the official Red
Hat CVS repository.  It just has not had much activity lately and now it
has new blood :)

Albert's tree is a fork.

If you are using the official procps package, I think you need at least
2.0.8 or so - but the latest version is ideal, which is 2.0.10.

> Debugging options.
> ~~~~~~~~~~~~~~~~~~
> During the stabilising period, it's likely that the debugging options
> in the kernel hacking menu will trigger quite a few problems.
> Please report any of these problems to linux-kernel@vger.kernel.org
> rather than just disabling the relevant CONFIG_ options.
> 
> Merging of kksymoops means that the kernel will now spit out
> automatically decoded oopses (no more feeding them to ksymoops).
> For this reason, you should always enable the option in the
> kernel hacking menu labelled "Load all symbols for debugging/kksymoops".

Please please please test with CONFIG_PREEMPT, CONFIG_DEBUG, and
CONFIG_KKALLSYMS enabled.  Kernel preemption gives us the ability to do
a whole slew of debugging checks like sleeping with locks held,
scheduling while atomic, exiting with locks held, etc. etc.

> Need checking.
> ~~~~~~~~~~~~~~
> - Someone reported evolution locks up when calender/tasks/contacts is selected.
>   http://lists.ximian.com/archives/public/evolution-hackers/2002-March/004292.html
>   reports this as an evolution/ORBit problem.  Did it get fixed ?

Not yet.  I have talked to the Evolution/ORBit guys about this -
especially Elliot Lee.

It is an ORBit problem and is currently not fixed as of the latest
release.  The problem is 2.4, actually, which has bad behavior with
getpeername() - it does not fill in the sun_path member.  ORBit works
around this behavior, which breaks 2.5 which does fill in the value.

A quick fix is to just have ORBit set sun_path to null after calling
getpeername().

	Robert Love


  parent reply	other threads:[~2002-11-06 16:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-06 14:08 yet another update to the post-halloween doc Dave Jones
2002-11-06 14:37 ` Jaroslav Kysela
2002-11-06 15:02   ` Dave Jones
2002-11-06 16:11   ` Adam Belay
2002-11-07  2:28     ` bill davidsen
2002-11-06 14:44 ` Miles Bader
2002-11-06 17:29   ` Geert Uytterhoeven
2002-11-06 15:18 ` Martin Josefsson
2002-11-06 15:23 ` Alan Cox
2002-11-06 16:18 ` Robert Love [this message]
2002-11-06 16:53   ` Dave Jones
2002-11-06 21:56     ` Robert Love
2002-11-07 16:33   ` Bill Davidsen
2002-11-07 18:18     ` Robert Love

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=1036599481.3405.1080.camel@phantasy \
    --to=rml@tech9.net \
    --cc=davej@codemonkey.org.uk \
    --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