[RFC:PATCH 00/09] VM File Tails

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

 



This is the latest version of my "VM File Tails" work.  The idea is to
store tails of files that are smaller than the base page size in kmalloc'ed
memory, allowing more efficient use of memory.  This is especially important
when the base page size is large, such as 64 KB on powerpc.

So far, my testing hasn't resulted in any performance gains.  The workloads
prompting this work are more involved, so more testing is needed.  Right
now, I don't have a case for inclusion of these patches, but there was
interest in the community, so here they are.

These patches are built against 2.6.24-rc2.

I had posted some patches earlier that were much more complex, and
introduced dummy pages into the page cache to account for the tails.  I
have abandoned that approach, and have arrived at a much simpler patch set.

The idea is to attach a buffer to the address space (page->mapping) to hold
the tail.  Whenever the page corresponding to the tail is requested, a new
page is allocated and the tail is unpacked to that page.  At some point,
pages that are eligible to be packed are copied into kmalloced buffers and
attached to the address space.  The eligible pages must be up-to-date, clean,
unmapped, not waiting for I/O, etc.

Since the last time I posted:
- I optimized generic_file_aio_read to copy data directly from the tail,
  rather than unpacking the tail and copying from the page cache
- Luiz Capitulino contributed a patch to add statistics in
  /sys/kernel/debug/vm_tail/

My To-Do list includes:
- Investigate more aggressive places to pack tails.  It's currently only
  being done in shrink_active_list()
- benchmark!

Comments are appreciated.

The patches can also be downloaded from:
ftp://kernel.org/pub/linux/kernel/people/shaggy/vm_file_tails/

Thanks,
Shaggy
-
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