All of lore.kernel.org
 help / color / mirror / Atom feed
From: Con Kolivas <kernel@kolivas.org>
To: Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>,
	linux-kernel@vger.kernel.org
Cc: bf-committers@blender.org
Subject: Re: [RFC] Re: Blender profiling-1 O16.2int
Date: Tue, 26 Aug 2003 15:03:48 +1000	[thread overview]
Message-ID: <200308261503.48844.kernel@kolivas.org> (raw)
In-Reply-To: <200308261454.03069.Christopher.Maddock.1@uni.massey.ac.nz>

On Tue, 26 Aug 2003 12:54, Kester Maddock wrote:
> On Sun, Aug 17, 2003 at 11:36:42PM +1000, Con Kolivas wrote:
> > Now normally, blender should just sleep and wait till X comes
> > alive again before it does anything. However here it shows clearly that
> > it is spinning madly looking for something from X, and poor X can't do
> > anything. This is the busy on wait I've described.
> >
> > Second, any applications that exhibit this should be fixed since it is a
> > bug.
>
> Say if blender is polling the mouse in the view rotate loop?  (If so, you
> should be able to just hold down the middle mouse to starve, without moving
> the mouse.)
>
> Is this really a bug in the application?  Blender is interactive while
> rotating the view.  More CPU means more frames per second which gives the
> user a better experience.  The CPU usage will drop down when the user
> releases the middle mouse button.
>
> (OK, in this specific case blender could update the screen on mouse move
> events, but what about the general case eg a 3d game, where the screen
> is updated by eg monster ai?)
>
> And how do you fix it?  Would sleep(0) in these loops do, or do you need to
> select(...) on X?
>
> CC me please on replys.
>
> Thanks,
>
> Kester Maddock.
> ^ sends occaisional patches to blender.

Thanks for you attention. Yes this is a scheduler issue that makes it prone to 
the effect of priority inversion (heck even the mars rover module suffered 
it), brought out by the quirk in the coding. I wouldn't even know where to 
begin looking at the source of blender but the culprits we've tracked down so 
far that cause this use select with a very short timeout (15ms in one case). 
Basically it repeatedly times out, and X never gets adequate scheduling time 
to respond because the applications themselves are the ones preempting X.

Con


  parent reply	other threads:[~2003-08-26  4:56 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-26  2:54 [RFC] Re: Blender profiling-1 O16.2int Kester Maddock
2003-08-26  2:46 ` [Bf-committers] " John K. Walton
2003-08-26  5:03 ` Con Kolivas [this message]
     [not found] <20030818110001.6564.64238.Mailman@lists.us.dell.com>
2003-08-18 12:52 ` Max Hailperin
2003-08-18 13:05   ` Con Kolivas
2003-08-18 14:43   ` William Lee Irwin III
     [not found] <20030817003128.04855aed.voluspa@comhem.se>
     [not found] ` <200308171142.33131.kernel@kolivas.org>
     [not found]   ` <20030817073859.51021571.voluspa@comhem.se>
2003-08-17 13:36     ` Con Kolivas
2003-08-17 16:34       ` Con Kolivas
2003-08-18  0:30       ` William Lee Irwin III
2003-08-19  0:14       ` Wes Janzen
2003-08-19  0:28         ` Con Kolivas
2003-08-19  0:37           ` Richard A Nelson
2003-08-19  8:39           ` Rob Landley
2003-08-19  0:31         ` William Lee Irwin III
2003-08-19  0:58         ` Wes Janzen

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=200308261503.48844.kernel@kolivas.org \
    --to=kernel@kolivas.org \
    --cc=Christopher.Maddock.1@uni.massey.ac.nz \
    --cc=bf-committers@blender.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.