All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory Haskins <ghaskins@novell.com>
To: Max Krasnyansky <maxk@qualcomm.com>
Cc: Dimitri Sivanich <sivanich@sgi.com>,
	Peter Zijlstra <peterz@infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: RT sched: cpupri_vec lock contention with def_root_domain and no load balance
Date: Wed, 19 Nov 2008 15:25:15 -0500	[thread overview]
Message-ID: <4924762B.8000108@novell.com> (raw)
In-Reply-To: <49246DD0.3010509@qualcomm.com>

[-- Attachment #1: Type: text/plain, Size: 2061 bytes --]

Max Krasnyansky wrote:
> Gregory Haskins wrote:
>   
>> If you tried creating different cpusets and it still had them all end up
>> in the def_root_domain, something is very broken indeed.  I will take a
>> look.
>>     
>
> I beleive that's the intended behaviour.
Heh...well, as the guy that wrote root-domans, I can definitively say
that is not the behavior that I personally intended ;)



>  We always put cpus that are not
> balanced into null sched domains. This was done since day one (ie when
> cpuisol= option was introduced) and cpusets just followed the same convention.
>   

It sounds like the problem with my code is that "null sched domain"
translates into "default root-domain" which is understandably unexpected
by Dimitri (and myself).  Really I intended root-domains to become
associated with each exclusive/disjoint cpuset that is created.  In a
way, non-balanced/isolated cpus could be modeled as an exclusive cpuset
with one member, but that is somewhat beyond the scope of the
root-domain code as it stands today.  My primary concern was that
Dimitri reports that even creating a disjoint cpuset per cpu does not
yield an isolated root-domain per cpu.  Rather they all end up in the
default root-domain, and this is not what I intended at all.

However, as a secondary goal it would be nice to somehow directly
support the "no-load-balance" option without requiring explicit
exclusive per-cpu cpusets to do it.  The proper mechanism (IMHO) to
scope the scheduler to a subset of cpus (including only "self") is
root-domains so I would prefer to see the solution based on that. 
However, today there is a rather tight coupling of root-domains and
cpusets, so this coupling would likely have to be relaxed a little bit
to get there.

There are certainly other ways to solve the problem as well.  But seeing
as how I intended root-domains to represent the effective partition
scope of the scheduler, this seems like a natural fit in my mind until
its proven to me otherwise.

Regards,
-Greg



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]

  parent reply	other threads:[~2008-11-19 20:21 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-03 21:07 RT sched: cpupri_vec lock contention with def_root_domain and no load balance Dimitri Sivanich
2008-11-03 22:33 ` Peter Zijlstra
2008-11-04  1:29   ` Dimitri Sivanich
2008-11-04  3:53   ` Gregory Haskins
2008-11-04 14:34     ` Gregory Haskins
2008-11-04 14:36       ` Peter Zijlstra
2008-11-04 14:40         ` Dimitri Sivanich
2008-11-04 14:59           ` Gregory Haskins
2008-11-19 19:49             ` Max Krasnyansky
2008-11-19 19:55               ` Dimitri Sivanich
2008-11-19 20:17                 ` Max Krasnyansky
2008-11-19 20:21                   ` Dimitri Sivanich
2008-11-19 20:25               ` Gregory Haskins [this message]
2008-11-19 20:33                 ` Dimitri Sivanich
2008-11-19 21:30                   ` Gregory Haskins
2008-11-19 21:47                     ` Dimitri Sivanich
2008-11-19 22:25                   ` Gregory Haskins
2008-11-20  2:12                 ` Max Krasnyansky
2008-11-21  1:57                   ` Gregory Haskins
2008-11-21 20:04                     ` Max Krasnyansky
2008-11-21 21:18                       ` Dimitri Sivanich
2008-11-22  7:03                         ` Max Krasnyansky
2008-11-22  8:18                           ` Li Zefan
2008-11-24 15:11                             ` Dimitri Sivanich
2008-11-24 21:47                               ` Max Krasnyansky
2008-11-24 21:46                             ` Max Krasnyansky
2008-11-04 14:45         ` Dimitri Sivanich
2008-11-06  9:13         ` Nish Aravamudan
2008-11-06 13:32           ` Dimitri Sivanich

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=4924762B.8000108@novell.com \
    --to=ghaskins@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxk@qualcomm.com \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=sivanich@sgi.com \
    /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.