mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Peter T. Breuer" <ptb@it.uc3m.es>
To: Anton Altaparmakov <aia21@cantab.net>
Cc: Daniel Phillips <phillips@arcor.de>,
	"Peter T. Breuer" <ptb@it.uc3m.es>,
	Alexander Viro <viro@math.psu.edu>,
	Xavier Bestel <xavier.bestel@free.fr>,
	david.lang@digitalinsight.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: (fwd) Re: [RFC] mount flag "direct"
Date: Fri, 6 Sep 2002 16:25:16 +0200 (MET DST)	[thread overview]
Message-ID: <200209061425.g86EPGW10158@oboe.it.uc3m.es> (raw)
In-Reply-To: <5.1.0.14.2.20020905235933.04082dc0@pop.cus.cam.ac.uk> from Anton Altaparmakov at "Sep 6, 2002 00:06:37 am"

"A month of sundays ago Anton Altaparmakov wrote:"
> The procedure described is _identical_ if you want to access 1TiB at a 
> time, because the request is broken down by the VFS into 512 byte size 

I think you said "1byte". And aren't these 4096B, or whatever the
blocksize is?

> units and I think I explained that, too. And for _each_ 512 byte sized unit 
> of those 1TiB you would have to repeat the _whole_ of the described 

Why? Doesn't the inode usually point at a contiguous lump of many
blocks? Are you perhaps looking at the worst case, not the usual case?

> procedure. So just replace 1 byte with 512 bytes in my post and then repeat 
> the procedure as many times as it takes to make up the 1TiB. Surely you 
> should know this... just fundamental Linux kernel VFS operation.

Well, you seem to have improved the situation by a factor of 512 in
just a few lines. Perhaps you can improve it again ...?

> It is not clear to me he understands the concept at all. He thinks that you 

Well, "let it be clear to you".

> need to read the disk inode just once and then you immediately read all the 

No, I think that's likely. I don't "think it". But yes, i assume that
in the case of a normal file it is quite likely that all the info
involved is in the inode, and we don't need to go hunting elsewhere.

Wrong?

> 1TiB of data and somehow all this magic is done by the VFS. This is 

No, the fs reads.  But yes, the inode is "looked up once" on average, I
believe, and if it says there's 1TB of data on disk here, here and here,
then I am going to tell you that I think it's locked in the fs while we
go look up the data on disk in the fs.

What I am not clear about now is exactly when the data is looked up - I
get the impression from what I have seen of the code that the VFS passes
down a complete request for 1TB, and that the the FS then goes and locks
the inode and chases down the data.  What you are saying above gives me
the impression that things are broken down into 512B lumps FIRST in or
above VFS, and then sent to the fs as individual requests with no inode
or fs locking. And I simply don't buy that as a strategy.

> complete crap and is _NOT_ how the Linux kernel works. The VFS breaks every 
> request into super block->s_blocksize sized units and _each_ and _every_ 

Well, that's 4096 (or 1024), not 512.

> request is _individually_ looked up as to where it is on disk.

Then that's crazy, but, shrug, if you want to do things that way, it
means that locking the inode becomes even more important, so that you
can cache it safely for a while. I'm quite happy with that. Just tell
me about it .. after all, I want to issue an appropriate  "lock"
instruction from vfs before every vfs op. I would also like to remove
the dcache after every vfs opn, as we unlock. I'm asking for insight
into doing this ...

> Each of those lookups requires a lot of seeks, reads, memory allocations, 
> etc. Just _read_ my post...

No they don't. You don't seem to realize that the remote disk server is
doing all that and has the data cached. What we, the client kernels
get, is latency in accessing that info, and not even that if we lock,
cache, and unlock.

> Please, I really wouldn't have expected someone like you to come up with a 
> statement like that... You really should know better...

If you know the person involved then try and entertain the idea that
they're not crazy, and suspect that other people are not crazy (or
illogical) either!

Peter

  parent reply	other threads:[~2002-09-06 14:20 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-03 21:48 Peter T. Breuer
2002-09-03 22:19 ` Anton Altaparmakov
2002-09-03 22:42   ` Peter T. Breuer
2002-09-03 22:52     ` Xavier Bestel
2002-09-03 23:44       ` Peter T. Breuer
2002-09-04  7:06         ` Alexander Viro
2002-09-04  9:02           ` Peter T. Breuer
2002-09-04 11:05             ` Anton Altaparmakov
2002-09-04 11:39               ` Peter T. Breuer
2002-09-04 14:13                 ` Anton Altaparmakov
2002-09-05 22:45                   ` Daniel Phillips
2002-09-05 23:06                     ` Anton Altaparmakov
2002-09-05 23:17                       ` Daniel Phillips
2002-09-05 23:24                         ` Anton Altaparmakov
2002-09-06  8:57                           ` Peter T. Breuer
2002-09-06  9:08                             ` Anton Altaparmakov
2002-09-06  9:17                               ` Peter T. Breuer
2002-09-06  9:50                                 ` Lars Marowsky-Bree
2002-09-06 14:10                                   ` Peter T. Breuer
2002-09-06 13:20                                 ` Helge Hafting
2002-09-06 13:22                                 ` Rik van Riel
2002-09-06 13:53                                   ` Peter T. Breuer
2002-09-06 15:32                                     ` Rik van Riel
2002-09-06 14:25                       ` Peter T. Breuer [this message]
2002-09-06 17:20                         ` Anton Altaparmakov
2002-09-06 17:33                           ` Daniel Phillips
2002-09-06 19:32                             ` Anton Altaparmakov
2002-09-06 18:29                           ` Peter T. Breuer
2002-09-06 19:30                             ` Anton Altaparmakov
2002-09-09 16:30                           ` Peter T. Breuer
2002-09-17 11:21                             ` Anton Altaparmakov
2002-09-05  8:30                 ` Helge Hafting
2002-09-05  8:43                   ` David Lang
2002-09-05 14:24                   ` Peter T. Breuer
2002-09-05 16:59                     ` David Lang
2002-09-05 23:08                     ` Daniel Phillips
2002-09-06  8:14                     ` Ingo Oeser
2002-09-06  9:06                     ` Helge Hafting
2002-09-04 12:49             ` Ragnar Kjørstad
2002-09-04 12:54               ` Peter T. Breuer
2002-09-04 13:22                 ` Ragnar Kjørstad
2002-09-05  3:36                 ` Edgar Toernig
2002-09-05  3:58                   ` Alexander Viro
2002-09-05 15:59                     ` [RFC] intent-based lookup (was: mount flag "direct") Andreas Dilger
2002-09-03 23:24     ` (fwd) Re: [RFC] mount flag "direct" David Lang
2002-09-04  4:27   ` Kevin O'Connor
2002-09-03 23:05 ` David Lang
     [not found] <02Sep6.161154edt.62237@gpu.utcc.utoronto.ca>
2002-09-07 13:36 ` Peter T. Breuer
     [not found] <20020909181724.GA31153@ravel.coda.cs.cmu.edu>
2002-09-09 18:58 ` Peter T. Breuer

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=200209061425.g86EPGW10158@oboe.it.uc3m.es \
    --to=ptb@it.uc3m.es \
    --cc=aia21@cantab.net \
    --cc=david.lang@digitalinsight.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillips@arcor.de \
    --cc=viro@math.psu.edu \
    --cc=xavier.bestel@free.fr \
    /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

all inboxes | Powered by JetHome®