linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Richard Weinberger <richard-/L3Ra7n9ekc@public.gmane.org>
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: New syscall: leftpad()
Date: Fri,  1 Apr 2016 00:33:31 +0200	[thread overview]
Message-ID: <1459463613-32473-1-git-send-email-richard@nod.at> (raw)

Recent happenings in the node.js community showed how fragile software is when
it comes to dependencies of fundamental algorithms like leftpad[1].
A node.js package which provided ledpad vanished and broke a lot of software.
This raised our attention and we came to the conclusion that it is the kernel's
job to provide such functionality such that node.js based applications can in future
rely in Linux's "don't break userspace" rule.
We hope that glibc and Andoid's bionic will soon offer wrapper functions for this
new leftpad system call.
We put leftpad into the kernel not only because of Linux's stable ABI,
also for performance reasons.
As everyone knows, within the kernel everything is faster and better.
Leftpad has millions of users, so it has to be as fast as possible.
This new system call will also help making services like left-pad.io[2]
faster and more reliable. If the leftpad() system call gets adopted by a wider user base
it might also make sense to add a generic npm() system call which acts like ioctl()
where kernel modules can register new functions that are often used by node.js.
Such functions might be, is_array(), is_int(), etc.

Enjoy,
//richard

[1] http://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/
[2] http://left-pad.io/

[PATCH] Implement leftpad syscall
[PATCH] leftpad.2: Document new syscall

             reply	other threads:[~2016-03-31 22:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-31 22:33 Richard Weinberger [this message]
2016-03-31 22:33 ` [PATCH] Implement leftpad syscall Richard Weinberger
2016-04-01  1:33   ` Frederic Weisbecker
     [not found]   ` <1459463613-32473-2-git-send-email-richard-/L3Ra7n9ekc@public.gmane.org>
2016-03-31 22:46     ` Michael Kerrisk (man-pages)
2016-03-31 23:09     ` Greg KH
2016-04-01  3:22     ` kbuild test robot
2016-04-01  6:56     ` Richard Cochran
2016-04-01  7:14   ` Scotty Bauer
2016-03-31 22:33 ` [PATCH] leftpad.2: Document new syscall Richard Weinberger
     [not found]   ` <1459463613-32473-3-git-send-email-richard-/L3Ra7n9ekc@public.gmane.org>
2016-04-08 18:10     ` Heinrich Schuchardt
2016-04-09 14:12       ` Richard Weinberger
     [not found] ` <1459463613-32473-1-git-send-email-richard-/L3Ra7n9ekc@public.gmane.org>
2016-03-31 23:36   ` New syscall: leftpad() Randy Dunlap
     [not found]     ` <56FDB478.4020609-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-04-01  8:06       ` Richard Weinberger

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=1459463613-32473-1-git-send-email-richard@nod.at \
    --to=richard-/l3ra7n9ekc@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /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).