From: Stephen Hemminger <stephen@networkplumber.org>
To: John Ousterhout <ouster@cs.stanford.edu>
Cc: Andrew Lunn <andrew@lunn.ch>, netdev@vger.kernel.org
Subject: Re: Upstream Homa?
Date: Fri, 11 Nov 2022 11:10:04 -0800 [thread overview]
Message-ID: <20221111111005.2f6b2117@hermes.local> (raw)
In-Reply-To: <CAGXJAmw=NY17=6TnDh0oV9WTmNkQCe9Q9F3Z=uGjG9x5NKn7TQ@mail.gmail.com>
On Fri, 11 Nov 2022 10:59:58 -0800
John Ousterhout <ouster@cs.stanford.edu> wrote:
> The netlink and 32-bit kernel issues are new for me; I've done some digging
> to learn more, but still have some questions.
>
> * Is the intent that netlink replaces *all* uses of /proc and ioctl? Homa
> currently uses ioctls on sockets for I/O (its APIs aren't
> sockets-compatible). It looks like switching to netlink would double the
> number of system calls that have to be invoked, which would be unfortunate
> given Homa's goal of getting the lowest possible latency. It also looks
> like netlink might be awkward for dumping large volumes of kernel data to
> user space (potential for buffer overflow?).
>
> * By "32 bit kernel problems" are you referring to the lack of atomic
> 64-bit operations and using the facilities of u64_stats_sync.h, or is there
> a more general issue with 64-bit operations?
>
> -John-
I admit, haven't looked at Hama code. Are you using ioctl as a generic
way into kernel for operations?
Ioctl's on sockets are awkward API and have lots of issues.
The support of 32 bit app on 64 bit OS is one of them.
For that reason they are strongly discouraged.
Netlink allows multiple TLV options in single request and they should
be processed as transaction. Netlink is intended for control operations.
If you need a new normal path operation, then either use an existing
system call (sendmsg/recvmsg) with new flags; or introduce a new system
call. Don't abuse ioctl as a way to avoid introducing new system call.
New system calls do add additional complexity to security modules, so
SELinux etc may need to know.
PS: please don't top post in replys to Linux mailing lists.
next prev parent reply other threads:[~2022-11-11 19:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 19:42 Upstream Homa? John Ousterhout
2022-11-10 21:25 ` Stephen Hemminger
2022-11-10 23:23 ` Andrew Lunn
[not found] ` <CAGXJAmw=NY17=6TnDh0oV9WTmNkQCe9Q9F3Z=uGjG9x5NKn7TQ@mail.gmail.com>
2022-11-11 19:10 ` Stephen Hemminger [this message]
2022-11-11 19:25 ` Andrew Lunn
2022-11-12 7:53 ` Jiri Pirko
2022-11-13 6:25 ` John Ousterhout
2022-11-13 17:10 ` Andrew Lunn
2022-11-13 20:10 ` John Ousterhout
2022-11-13 20:37 ` Andrew Lunn
2022-11-14 5:37 ` John Ousterhout
2022-11-13 6:09 ` John Ousterhout
2022-11-13 8:24 ` Jiri Pirko
2022-11-13 18:53 ` Andrew Lunn
2022-12-04 18:17 ` Jamal Hadi Salim
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=20221111111005.2f6b2117@hermes.local \
--to=stephen@networkplumber.org \
--cc=andrew@lunn.ch \
--cc=netdev@vger.kernel.org \
--cc=ouster@cs.stanford.edu \
/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).