Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1633258

[PATCH 00/13] vfs: Convert file allocation code to use the IDR

From Sandhya Bankar <bankarsandhya512@gmail.com>
Newsgroups linux.kernel
Subject [PATCH 00/13] vfs: Convert file allocation code to use the IDR
Date 2017-04-29 09:30 +0200
Message-ID <tBuZk-3il-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 00/13] vfs: Convert file allocation code to use the IDR Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:30 +0200
  [PATCH 02/13] idr: Add idr_for_each_entry_tagged() Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:40 +0200
  [PATCH 03/13] idr, radix-tree: Add get_tag_batch function Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 08/13] vfs: Use idr_tag_get() in fd_is_open(). Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 04/13] idr, radix-tree: Implement copy_preload Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 07/13] vfs: Remove full_fds_bits from fd allocation code path. Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 09/13] vfs: Rewrite close_files() Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 05/13] vfs: Replace array of file pointers with an IDR Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 06/13] vfs: Remove next_fd from fd alloc code path. Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 10/13] vfs: Replace close_on_exec bitmap with an IDR tag Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 09:50 +0200
  [PATCH 13/13] vfs: Delete struct fdtable Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 10:00 +0200
  [PATCH 12/13] vfs: Convert select to use idr_get_tag_batch() Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 10:00 +0200
  [PATCH 11/13] vfs: Add init_task.h include Sandhya Bankar <bankarsandhya512@gmail.com> - 2017-04-29 10:00 +0200

csiph-web