[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <i2oed628a921004161059z65a3cf1aq5f3cd2194f40a811@mail.gmail.com>
Date: Fri, 16 Apr 2010 10:59:37 -0700
From: Paul Turner <pjt@...gle.com>
To: Rick Jones <rick.jones2@...com>
Cc: Tom Herbert <therbert@...gle.com>,
Stephen Hemminger <shemminger@...tta.com>, davem@...emloft.net,
netdev@...r.kernel.org, eric.dumazet@...il.com,
Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH v4] rfs: Receive Flow Steering
On Fri, Apr 16, 2010 at 10:33 AM, Rick Jones <rick.jones2@...com> wrote:
>>
>> This is true. There is a fundamental question of whether scheduler
>> should lead networking or vice versa. The advantages of networking
>> following scheduler seem to become more apparent on heavily loaded
>> systems or with threads that handle more than one flow.
>
> I will confess to being in the networking should follow the scheduler camp
> :)
>
>> I'm not sure these two models have to be mutually exclusive, we are
>> looking at some ways to make a hybrid model.
>
> It is perhaps too speculative on my part, but if the host has no control
> over the remote addressing of the connections to/from it, doesn't that
> suggest that allowing networking to lead the scheduler gives "external
> forces" more say in intra-system resource consumption than we might want
> them to have?
>
> rick jones
>
Even under a hybrid model I think phrasing it as networking leading
the scheduler here is a little strong. The scheduler is in both cases
the most 'informed' place to make these decisions, but I think it
could benefit from more knowledge. In the 'virgin' single flow case
without any steering the network stack is currently able to implicitly
hint to the scheduler where flows could be most efficiently served due
to wake-affine balancing behaviors. This is a natural side-effect of
wake-ups being sourced by the networking cpus.
I think the win here would be allowing this (naturally existing)
hinting to be a little more explicit so that the scheduler and
load-balancer are able to gracefully 'collapse' back down onto the
network cpu socket under low stress conditions, even if previous
processing was balanced away from it due to load.
This would actually then look very much like today's model under loads
where you don't need scaling via parallelism. One way to think about
making it an explicit hint could be: should the rx cpu sourcing the
wake-up in this case be the target for wake-affine as opposed to the
current bottom-half delegate?
- Paul
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists