Re: [RFC] fadvise: add more flags to provide a hint for block allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 6 Mar 2012, Sunil Mushran wrote:

> On 03/06/2012 06:29 AM, Lukas Czerner wrote:
> > However the file system do not have the information which part of the
> > device it resides on is faster. It might be the beginning of the file
> > system, but it might not be the case at all.
> 
> 
> Think HSM and flash storage as the hot region. Remember these are
> hints and not guaranteed to work in all cases.

Exactly, first we have to define what we actually need to achieve with
it. Not just randomly making up stupid pseudo-optimizations. Moreover
there is _no way_ file system has the information about the HSM nor the
flash regions, fast regions or whatever, it does not even know where is
the beginning of the disk. Stop constructing building from the roof!!
There just is not any interface for the file system to use to get such
information!

I also believe that regarding HSM user is in no damn position to decide
whether his file will be on flash or not. It just does not work that
way, every user's, or application's files has to be accessed faster than
others from their point of view.

> 
> 
> > Moreover the flag which is stating that the file does not have to be
> > allocated sequentially is not particularly helpful, I can not imagine
> > people using it. Why would someone want to lower their performance ?
> > Well, they might think that it will increase performance of the other
> > files, but that is highly disputable and there are better solutions like
> > using faster storage for the files that actually needs it.
> > 
> > Additionally *_HOT* flag does not say anything about the allocation
> > policy. It might be accessed often ,but no in sequential manner, or it
> > can be written to a lot, it can be appended a lot, or it the content
> > might be changed without changing its size etc... *Hot* might mean so
> > many thing that this is just not useful for the file system. It would
> > certainly be better to come up with something less esoteric which would
> > actually address concrete user issues and help file system to deal with
> > them better, like, I do not know, do not fsync/force allocation on
> > rename maybe...(or whatever we are doing right now).
> 
> _HOT/_COLD is descriptive for allocation policy though fadvise() is
> the wrong call as it pertains to access patterns.

Of course _HOT/_COLD is totally stupid flags from both user and file
system POV. It could mean whatever you can imagine behind HOT/COLD. In
this case it is so damn esoteric I can not imagine even file systems
agree on the meaning of it. But when it comes to user it will be even
worse - total disaster - no one would be able to say what benefit should
it actually bring.

Just come up with concrete optimizations and give them concrete names.
If this is going to be of any use to file systems and users, both should
know exactly what workload would be applied to the file, or what user
actually intents to do with it, so that file system can take concrete
action. What you proposing is a flag which should spawns ponies all
around, it does not work

And if you can not come up with any flag like that, well then it certainly
tells you something about this feature as a whole.

-Lukas

> 
> Sunil
> 

-- 
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux