From: NeilBrown <neilb@suse.de>
To: Tejun Heo <tj@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, Al Viro <viro@ZenIV.linux.org.uk>
Subject: [PATCH 0/2] Allow access to sysfs attributes without mem allocations.
Date: Tue, 30 Sep 2014 12:33:34 +1000 [thread overview]
Message-ID: <20140930022205.13407.99210.stgit@notabene.brown> (raw)
Hi Tejun,
is this closer to what you would like?
I do really need this functionality, but I honestly don't like this
patch.
The need to identify just which attributes need special care seems
backwards to me.
1/ it is the process (which has called mlock etc) which needs
special care, more than the attribute. Everything that process
does needs to avoid allocating memory, whether that this is
particularly related to enabling write-out or not.
2/ It is also backwards because the vast majority of sysfs
attributes only support bool/enum/int which means at most
23 chars including sign and newline (maybe more for reads if the
read provides a list of options). So almost everything
doesn't need an allocation at all - just some on-stack space.
I would be quite happy to identify those attributes that
may need care when accessing and could possibly supports
read or write > 128 characters, because there wouldn't be any.
I also don't like this approach because we end up allocating 2 pages
for the buffer, as we have to ask for "PAGE_SIZE+1" bytes, for the
hypothetical case that an important attribute actually requires a
full PAGE_SIZE write...
Would you be happy to have all specially identified attributes be
limited to 127 characters IO max? Then I would just use an on-stack
buffer for those which would remove the allocation and simplify some
of the code.
Thanks,
NeilBrown
---
NeilBrown (2):
sysfs - allow attributes to request write buffer be pre-allocated.
sysfs/kernfs: make read requests on pre-alloc files use the buffer.
fs/kernfs/file.c | 52 +++++++++++++++++++++++++++++++----------------
fs/sysfs/file.c | 53 +++++++++++++++++++++++++++++++++++++++++-------
include/linux/kernfs.h | 2 ++
include/linux/sysfs.h | 9 ++++++++
4 files changed, 90 insertions(+), 26 deletions(-)
--
Signature
next reply other threads:[~2014-09-30 2:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-30 2:33 NeilBrown [this message]
2014-09-30 2:33 ` [PATCH 1/2] sysfs - allow attributes to request write buffer be pre-allocated NeilBrown
2014-10-05 19:56 ` Tejun Heo
2014-09-30 2:33 ` [PATCH 2/2] sysfs/kernfs: make read requests on pre-alloc files use the buffer NeilBrown
2014-10-05 20:02 ` Tejun Heo
2014-10-05 19:46 ` [PATCH 0/2] Allow access to sysfs attributes without mem allocations Tejun Heo
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=20140930022205.13407.99210.stgit@notabene.brown \
--to=neilb@suse.de \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
--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