linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sandhya Bankar <bankarsandhya512@gmail.com>
To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	viro@zeniv.linux.org.uk, mawilcox@microsoft.com,
	re.emese@gmail.com, adobriyan@gmail.com, keescook@chromium.org,
	riel@surriel.com
Subject: [RESEND PATCH 00/13] vfs: Convert file allocation code to use the IDR
Date: Tue, 11 Jul 2017 17:06:58 +0530	[thread overview]
Message-ID: <cover.1493315288.git.bankarsandhya512@gmail.com> (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.

The performance benchmark needs to be run on 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

             reply	other threads:[~2017-07-11 12:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-11 11:36 Sandhya Bankar [this message]
2017-07-11 13:20 ` [RESEND PATCH 05/13] vfs: Replace array of file pointers with an IDR Sandhya Bankar
2017-10-04 15:45   ` Mateusz Guzik
2017-07-11 13:22 ` [RESEND PATCH 06/13] vfs: Remove next_fd from fd alloc code path Sandhya Bankar
2017-07-11 13:24 ` [RESEND PATCH 07/13] vfs: Remove full_fds_bits from fd allocation " Sandhya Bankar
2017-07-11 13:27 ` [RESEND PATCH 08/13] vfs: Use idr_tag_get() in fd_is_open() Sandhya Bankar
2017-07-11 13:29 ` [RESEND PATCH 09/13] vfs: Rewrite close_files() Sandhya Bankar
2017-07-11 13:32 ` [RESEND PATCH 10/13] vfs: Replace close_on_exec bitmap with an IDR tag Sandhya Bankar
2017-07-11 13:36 ` [RESEND PATCH 12/13] vfs: Convert select to use idr_get_tag_batch() Sandhya Bankar
2017-07-11 13:38 ` [RESEND PATCH 13/13] vfs: Delete struct fdtable Sandhya Bankar
2017-07-11 14:15 ` [RESEND PATCH 04/13] idr, radix-tree: Implement copy_preload Sandhya Bankar
2017-07-11 14:19 ` [RESEND PATCH 03/13] idr, radix-tree: Add get_tag_batch function Sandhya Bankar
2017-07-11 14:21 ` [RESEND PATCH 02/13] idr: Add idr_for_each_entry_tagged() Sandhya Bankar
2017-07-11 14:24 ` [RESEND PATCH 01/13] idr: Add ability to set/clear tags Sandhya Bankar
2017-07-11 14:27 ` [RESEND PATCH 11/13] vfs: Add init_task.h include Sandhya Bankar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1493315288.git.bankarsandhya512@gmail.com \
    --to=bankarsandhya512@gmail.com \
    --cc=adobriyan@gmail.com \
    --cc=keescook@chromium.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mawilcox@microsoft.com \
    --cc=re.emese@gmail.com \
    --cc=riel@surriel.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).