List Info

Thread: PATCH: i_blksize tuning in inode.c




PATCH: i_blksize tuning in inode.c
user name
2007-06-24 13:42:52
Miklos,
  the current fuse kernel module, in the function
fuse_change_attributes,
the inode->i_blksize is currently hardcoded to
PAGE_CACHE_SIZE. applications
like `cp' refer this value from fstat() (as st_blksize) on
the file and use
that as the block size to do transfers. I feel this value
should be
configurable by the filesystem, with an uppler limit check
upto the channel
size and a lower limit check to PAGE_CACHE_SIZE.
  the attached diff does the same. it causes applications
(like cp) itself
to work on larger chunks. this reduces the number of
requests going upto the
filesystem and drastically improves performance with reduced
context
switches.
thanks.
avati
-- 
Anand V. Avati

------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
fuse-devel mailing list
fuse-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fuse-devel

  
Re: PATCH: i_blksize tuning in inode.c
user name
2007-06-26 14:07:45
>   the current fuse kernel module, in the function
fuse_change_attributes,
> the inode->i_blksize is currently hardcoded to
PAGE_CACHE_SIZE. applications
> like `cp' refer this value from fstat() (as st_blksize)
on the file and use
> that as the block size to do transfers. I feel this
value should be
> configurable by the filesystem, with an uppler limit
check upto the channel
> size and a lower limit check to PAGE_CACHE_SIZE.

Probably makes sense, yes.  

>   the attached diff does the same. it causes
applications (like cp) itself
> to work on larger chunks. this reduces the number of
requests going upto the
> filesystem and drastically improves performance with
reduced context
> switches.

The patch is wrong, it won't even compile, since there's no
st_blksize
member in attr.  And if HAVE_I_BLKSIZE is false (which is on
all newer
kernels) the patch will not do anything, which isn't what
you want
either.

Thanks,
Miklos

------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
fuse-devel mailing list
fuse-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fuse-devel

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )