login
Header Space

 
 

Re: POHMELFS high performance network filesystem. Transactions, failover, performance.

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Andrew Morton <akpm@...>
Cc: <linux-kernel@...>, <netdev@...>, <linux-fsdevel@...>
Date: Wednesday, May 14, 2008 - 3:40 am

Hi Andrew.

On Tue, May 13, 2008 at 11:33:41PM -0700, Andrew Morton (akpm@linux-foundation.org) wrote:

It never takes the whole LAST_PKMAP maps. So the same can be applied to
any user who kmaps at least one page - while user waits for free slot,
it can be reused by someone else and so on.

But it can be speed issue, on 32 bit machine with 8gb of ram essentially
all pages were highmem and required mapping, so this does slows things
down (probably a lot), so I will extend writeback path of the POHMELFS
not to kmap pages, but instead use ->sendpage(), which if needed will
map page one-by-one. Current approach when page is mapped and then
copied looks really beter since the only one sending function is used
which takes lock only single time.


When ->writepage() is used, it has to wait until page is written (remote
side sent acknowledge), so if multiple pages are being written
simultaneously we either have to allocate shared structure or use
per-page wait. Right now there are transactions (and they will be used
for all operations eventually), so this waiting can go away.
It is exactly the same logic which lock_page() uses.

Will lock_page_killable()/__lock_page_killable() be exported to modules?

-- 
	Evgeniy Polyakov
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: POHMELFS high performance network filesystem. Transactio..., Evgeniy Polyakov, (Wed May 14, 3:40 am)
Re: POHMELFS high performance network filesystem. Transactio..., Evgeniy Polyakov, (Wed May 14, 11:00 am)
speck-geostationary