All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Schäfer" <gentryx@gmx.de>
To: Hans Reiser <reiser@namesys.com>
Cc: reiserfs-list@namesys.com
Subject: Re: State of the Reiser4 FS
Date: Wed, 15 Mar 2006 20:27:30 +0100	[thread overview]
Message-ID: <20060315192730.GA11927@wintermute> (raw)
In-Reply-To: <44185CEC.3010103@namesys.com>

On 10:29 Wed 15 Mar     , Hans Reiser wrote:
> Tell the mosix guys we would be willing to cooperate with them regarding
> their problem.

If it was that easy... The problem for openMosix is that most devices
fetch data in 4k blocks via copy_from_user(). For migrated processes,
openMosix intercepts these calls and forwards them to the node which
currently hosts the process. This forwarding yields a high latency
penalty.

Obviously there are two ways to get rid of this problem: 

* modify _every_ Linux device driver to use a
  _a_lot_more_than_4k_at_a_time_ approach or

* implement a second "read ahead" buffer which fetches large blocks via
  the network in the background and answers calls to copy_from_user()
  directly from the local buffer

In my _very_ humble opinion the first approach would be much nicer,
but after you guys had so many trouble with just your filesystem, I
don't see that one coming, not at all.

So I think the long term strategy for oM will the second, double
buffering approach. At least I couldn't think of any other realistic,
feasible way.

BTW: how are you guys planning to solve this 4k issue? Will you revert
to small blocks or will you "pretend" to perform 4k transfers and
assemble those in the background to, again, process large chunks at
once? If yes, wouldn't this seriously increase CPU usage due to
(most likely) unnecessary data duplication?

Regards
-Andreas

  reply	other threads:[~2006-03-15 19:27 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-14 10:41 State of the Reiser4 FS Avuton Olrich
2006-03-14 11:45 ` Vladimir V. Saveliev
2006-03-14 15:32   ` Clemens Eisserer
2006-03-15  7:14     ` Hans Reiser
2006-03-15  8:57       ` Andreas Schäfer
2006-03-15 18:29         ` Hans Reiser
2006-03-15 19:27           ` Andreas Schäfer [this message]
2006-03-15 21:08             ` Andreas Dilger
2006-03-16  0:58             ` 4k at a time only works well for an OS that does less per iteration than Linux does Hans Reiser
2006-03-15 19:45       ` State of the Reiser4 FS Jonathan Briggs
2006-03-15 20:43         ` Hans Reiser
2006-03-15 21:25           ` Andreas Schäfer
2006-03-15  8:45 ` Hans Reiser
2006-03-15 12:59   ` Avuton Olrich
2006-03-15 18:33     ` Hans Reiser
2006-03-26 11:27       ` 2.6.16 patch jp
2006-03-27 17:27         ` jp
2006-03-28 11:42           ` Vladimir V. Saveliev
2006-03-28 12:54             ` Tassilo Horn
2006-03-28 17:12               ` Danny Milosavljevic
2006-03-28 18:00                 ` Tassilo Horn
2006-03-28 23:22             ` Jake Maciejewski
2006-03-27 20:10         ` Marcus Furlong
2006-03-27 19:44           ` Tassilo Horn
2006-03-27 21:32             ` Marcus Furlong
2006-03-27 20:41               ` Tassilo Horn
2006-03-27 21:29               ` Tassilo Horn

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=20060315192730.GA11927@wintermute \
    --to=gentryx@gmx.de \
    --cc=reiser@namesys.com \
    --cc=reiserfs-list@namesys.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.