linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] vfs: Convert file allocation code to use the IDR
@ 2017-04-27 18:48 Sandhya Bankar
  2017-04-27 18:54 ` [PATCH 01/13] idr: Add ability to set/clear tags Matthew Wilcox
                   ` (12 more replies)
  0 siblings, 13 replies; 15+ messages in thread
From: Sandhya Bankar @ 2017-04-27 18:48 UTC (permalink / raw)
  To: linux-fsdevel, linux-kernel, viro, mawilcox, re.emese, adobriyan,
	keescook, riel

Currently the file descriptors are allocated using a custom allocator. 
This patchset replaces the custom code with an IDR. This replacement will 
result in some memory saving for processes with relatively few open files 
and improve performance of workloads with very large numbers of open files.

Note: Some more performance benchmark needs to be run on this patchset.
Can anyone please help in runnning benchmark for this patchset.

Matthew Wilcox (5):
  idr: Add ability to set/clear tags
  idr: Add idr_for_each_entry_tagged()
  idr, radix-tree: Add get_tag_batch function
  idr, radix-tree: Implement copy_preload
  vfs: Add init_task.h include

Sandhya Bankar (8):
  vfs: Replace array of file pointers with an IDR
  vfs: Remove next_fd from fd alloc code path.
  vfs: Remove full_fds_bits from fd allocation code path.
  vfs: Use idr_tag_get() in fd_is_open().
  vfs: Rewrite close_files()
  vfs: Replace close_on_exec bitmap with an IDR tag
  vfs: Convert select to use idr_get_tag_batch()
  vfs: Delete struct fdtable

 fs/compat.c                                 |   6 +-
 fs/exec.c                                   |   2 +-
 fs/fcntl.c                                  |   2 +-
 fs/file.c                                   | 606 ++++++----------------------
 fs/proc/array.c                             |   2 +-
 fs/proc/fd.c                                |   6 +-
 fs/select.c                                 |  21 +-
 include/linux/fdtable.h                     |  66 +--
 include/linux/file.h                        |   1 -
 include/linux/idr.h                         | 110 ++++-
 include/linux/radix-tree.h                  |   5 +
 lib/idr.c                                   |  30 +-
 lib/radix-tree.c                            | 169 +++++++-
 tools/testing/radix-tree/idr-test.c         |  85 +++-
 tools/testing/radix-tree/linux/radix-tree.h |   2 +
 tools/testing/radix-tree/main.c             |  38 ++
 tools/testing/radix-tree/test.c             |   9 +-
 tools/testing/radix-tree/test.h             |   3 +-
 18 files changed, 578 insertions(+), 585 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-10-04 15:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-27 18:48 [PATCH 00/13] vfs: Convert file allocation code to use the IDR Sandhya Bankar
2017-04-27 18:54 ` [PATCH 01/13] idr: Add ability to set/clear tags Matthew Wilcox
2017-04-27 19:05 ` [PATCH 02/13] idr: Add idr_for_each_entry_tagged() Sandhya Bankar
2017-04-27 19:06 ` [PATCH 03/13] idr, radix-tree: Add get_tag_batch function Sandhya Bankar
2017-04-27 19:07 ` [PATCH 04/13] idr, radix-tree: Implement copy_preload Sandhya Bankar
2017-04-27 19:08 ` [PATCH 05/13] vfs: Replace array of file pointers with an IDR Sandhya Bankar
2017-10-04 15:45   ` [RESEND PATCH " Mateusz Guzik
2017-04-27 19:09 ` [PATCH 06/13] vfs: Remove next_fd from fd alloc code path Sandhya Bankar
2017-04-27 19:10 ` [PATCH 07/13] vfs: Remove full_fds_bits from fd allocation " Sandhya Bankar
2017-04-27 19:11 ` [PATCH 08/13] vfs: Use idr_tag_get() in fd_is_open() Sandhya Bankar
2017-04-27 19:12 ` [PATCH 09/13] vfs: Rewrite close_files() Sandhya Bankar
2017-04-27 19:14 ` [PATCH 10/13] vfs: Replace close_on_exec bitmap with an IDR tag Sandhya Bankar
2017-04-27 19:17 ` [PATCH 11/13] vfs: Add init_task.h include Sandhya Bankar
2017-04-27 19:18 ` [PATCH 12/13] vfs: Convert select to use idr_get_tag_batch() Sandhya Bankar
2017-04-27 19:19 ` [PATCH 13/13] vfs: Delete struct fdtable Sandhya Bankar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).