netdev
[Top] [All Lists]

Re: [PATCH 2.6.11-rc4-mm1] connector: Add a fork connector

To: Kaigai Kohei <kaigai@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2.6.11-rc4-mm1] connector: Add a fork connector
From: Evgeniy Polyakov <johnpol@xxxxxxxxxxx>
Date: Thu, 03 Mar 2005 15:20:44 +0300
Cc: Guillaume Thouvenin <guillaume.thouvenin@xxxxxxxx>, Andrew Morton <akpm@xxxxxxxx>, lkml <linux-kernel@xxxxxxxxxxxxxxx>, elsa-devel <elsa-devel@xxxxxxxxxxxxxxxxxxxxx>, Jay Lan <jlan@xxxxxxxxxxxx>, Gerrit Huizenga <gh@xxxxxxxxxx>, Erich Focht <efocht@xxxxxxxxxxxx>, Netlink List <netdev@xxxxxxxxxxx>
In-reply-to: <1109850689.28266.144.camel@uganda>
Organization: MIPT
References: <1109240677.1738.196.camel@frecb000711.frec.bull.fr> <1109753292.8422.117.camel@frecb000711.frec.bull.fr> <42268201.80706@ak.jp.nec.com> <20050303084656.A15197@2ka.mipt.ru> <1109850689.28266.144.camel@uganda>
Reply-to: johnpol@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
On Thu, 2005-03-03 at 14:51 +0300, Evgeniy Polyakov wrote:
> Simple program to test fork() performance.
...
In a bit more advanced version it checks for error value,
but it never happend.
It can also have more fine grained measurment, 
but IMHO the picture is clear for small systems.

> Creating 10k forks 100 times.
> Results on 2-way SMP(1+1HT) Xeon for one fork()+exit():
> 
> 2.6.11-rc4-mm1                                   494 usec

Actually sometimes it drops to 480 usecs.

> 2.6.11-rc4-mm1-fork-connector-no_userspace       509 usec
> 2.6.11-rc4-mm1-fork-connector-userspace          520 usec
> 
> 5% fork() degradation(connector with userspace vs. vanilla) with fork() 
> connector.
> On my test system global fork lock does not cost anything
> (tested both with and without userspace listener), but it is only 
> 2-way(pseudo).

connector.c used in experiments is attached.

If fork connector analysis will show that global fork lock is a big
bottleneck, 
than seq counter can be replaced with per-cpu counter, but then inner
header should
include cpu id to properly distinguish messages.
But it is totaly fork's connector area, so I will not break things.

-- 
        Evgeniy Polyakov

Crash is better than data corruption -- Arthur Grabowski

Attachment: connector.c
Description: Text Data

Attachment: signature.asc
Description: This is a digitally signed message part

<Prev in Thread] Current Thread [Next in Thread>