From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, guillaume.thouvenin@bull.net,
jlan@engr.sgi.com, efocht@hpce.nec.com, linuxram@us.ibm.com,
gh@us.ibm.com, elsa-devel@lists.sourceforge.net, greg@kroah.com
Subject: Re: [1/1] CBUS: new very fast (for insert operations) message bus based on kenel connector.
Date: Fri, 01 Apr 2005 12:50:00 +0400 [thread overview]
Message-ID: <1112345400.9334.157.camel@uganda> (raw)
In-Reply-To: <20050331235927.6d104665.akpm@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 2197 bytes --]
On Thu, 2005-03-31 at 23:59 -0800, Andrew Morton wrote:
> Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> >
> > On Thu, 2005-03-31 at 23:26 -0800, Andrew Morton wrote:
> > > Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> > > >
> > > > > > +static int cbus_event_thread(void *data)
> > > > > > +{
> > > > > > + int i, non_empty = 0, empty = 0;
> > > > > > + struct cbus_event_container *c;
> > > > > > +
> > > > > > + daemonize(cbus_name);
> > > > > > + allow_signal(SIGTERM);
> > > > > > + set_user_nice(current, 19);
> > > > >
> > > > > Please use the kthread api for managing this thread.
> > > > >
> > > > > Is a new kernel thread needed?
> > > >
> > > > Logic behind cbus is following:
> > > > 1. make insert operation return as soon as possible,
> > > > 2. deferring actual message delivering to the safe time
> > > >
> > > > That thread does second point.
> > >
> > > But does it need a new thread rather than using the existing keventd?
> >
> > Yes, it is much cleaner [especially from performance tuning point]
> > to use own kernel thread than pospone all work to the queued work.
> >
>
> Why? Unless keventd is off doing something else (rare), it should be
> exactly equivalent. And if keventd _is_ off doing something else then that
> will slow down this kernel thread too, of course.
keventd does very hard jobs on some of my test machines which
for example route big amount of traffic.
> Plus keventd is thread-per-cpu and quite possibly would be faster.
I experimented with several usage cases for CBUS and it was proven
to be the fastest case when only one sending thread exists which manages
only very limited amount of messages at a time [like 10 in CBUS
currently]
without direct awakening [that is why wake_up() is commented in
cbus_insert()].
If too many deferred insert works will be called simultaneously
[which may happen with keventd] it will slow down insert operations
noticeably.
I did not try that case with the keventd but with one kernel thread
it was tested and showed worse performance.
--
Evgeniy Polyakov
Crash is better than data corruption -- Arthur Grabowski
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-04-01 8:45 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-20 8:23 [1/1] CBUS: new very fast (for insert operations) message bus based on kenel connector Evgeniy Polyakov
2005-04-01 0:27 ` Andrew Morton
2005-04-01 6:43 ` Evgeniy Polyakov
2005-04-01 7:26 ` Andrew Morton
2005-04-01 7:45 ` Evgeniy Polyakov
2005-04-01 7:59 ` Andrew Morton
2005-04-01 8:50 ` Evgeniy Polyakov [this message]
2005-04-01 9:25 ` Andrew Morton
2005-04-01 10:16 ` Evgeniy Polyakov
2005-04-01 10:30 ` Andrew Morton
2005-04-01 10:55 ` Evgeniy Polyakov
2005-04-01 11:20 ` Andrew Morton
2005-04-01 13:12 ` Evgeniy Polyakov
2005-04-01 19:11 ` Andrew Morton
2005-04-02 15:22 ` Evgeniy Polyakov
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=1112345400.9334.157.camel@uganda \
--to=johnpol@2ka.mipt.ru \
--cc=akpm@osdl.org \
--cc=efocht@hpce.nec.com \
--cc=elsa-devel@lists.sourceforge.net \
--cc=gh@us.ibm.com \
--cc=greg@kroah.com \
--cc=guillaume.thouvenin@bull.net \
--cc=jlan@engr.sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxram@us.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox