From: Johannes Stezenbach <js@sig21.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>,
Lukasz Skalski <l.skalski@samsung.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Arnd Bergmann <arnd@arndb.de>,
"Eric W. Biederman" <ebiederm@xmission.com>,
One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Tom Gundersen <teg@jklm.no>, Jiri Kosina <jkosina@suse.cz>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Daniel Mack <daniel@zonque.org>,
David Herrmann <dh.herrmann@gmail.com>,
Djalal Harouni <tixxdz@opendz.org>
Subject: Re: [GIT PULL] kdbus for 4.1-rc1
Date: Tue, 7 Jul 2015 23:40:17 +0200 [thread overview]
Message-ID: <20150707214017.GA12313@sig21.net> (raw)
In-Reply-To: <CA+55aFxdguuO7CLKYYq_qM6S6FT2CicZ1E5D5xGE54OdJNQwew@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2135 bytes --]
On Mon, Apr 27, 2015 at 03:14:49PM -0700, Linus Torvalds wrote:
> On Mon, Apr 27, 2015 at 3:00 PM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > IOW, all the people who say that it's about avoiding context switches
> > are probably just full of shit. It's not about context switches, it's
> > about bad user-level code.
>
> Just to make sure, I did a system-wide profile (so that you can
> actually see the overhead of context switching better), and that
> didn't change the picture.
>
> The scheduler overhead *might* be 1% or so.
>
> So really. The people who talk about how kdbus improves performance
> are just full of sh*t. Yes, it improves things, but the improvement
> seems to be 100% "incidental", in that it avoids a few trips down the
> user-space problems.
I was interested how plain UDS performs compared to the
dbus-client/dbus-server benchmark when doing a similar
transaction (RPC call from client1 to client2 via a server,
i.e 4 send() and 4 recv() syscalls per RPC msg).
Since I had worked on socket code for some project anyway, I
decided to write a stupid little benchmark.
On my machine, dbus-client/dbus-server needs ~200us per call (1024 byte msg),
UDS "dbus call" needs ~23us. Of course, someone who cares about performance
wouldn't use sync RPC via a message broker, so I added
single-client and async mode to the benchmark for comparison.
Async mode not only decreases scheduling overhead, it also
can use two CPU cores, so it's more than twice as fast.
./server dbus
(you need to run two clients, the timing loop starts
when the second client connects)
./client sync 4096 1000000
22.757250 s, 43942 msg/s, 22.8 us/msg, 171.638 MB/s
./client async 4096 1000000
8.197482 s, 121989 msg/s, 8.2 us/msg, 476.488 MB/s
./server single
(only a single client talks to the server)
./client sync 4096 1000000
10.980143 s, 91073 msg/s, 11.0 us/msg, 355.733 MB/s
./client async 4096 1000000
3.041953 s, 328736 msg/s, 3.0 us/msg, 1284.044 MB/s
In all cases 1 msg means "send request + receive response".
Johannes
[-- Attachment #2: server.c --]
[-- Type: text/x-csrc, Size: 2339 bytes --]
/* UDS server */
#include <errno.h>
#include <poll.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/timerfd.h>
#include <sys/un.h>
// use abstract address
#define SOCKET "\0udsbench.socket"
static int die(const char *msg)
{
if (errno)
fprintf(stderr, "%s: error %d %m\n", msg, errno);
else
fprintf(stderr, "%s\n", msg);
if (errno != ECONNRESET)
exit(EXIT_FAILURE);
return 0;
}
int main(int argc, char *argv[])
{
struct sockaddr_un addr = {
.sun_family = AF_UNIX,
.sun_path = SOCKET,
};
int sock, client1, client2 = -1, rc, len;
struct pollfd pfd[2];
char buf[65536];
unsigned long cnt = 0;
bool single = false;
if (argc != 2)
die("usage: server {single|dbus}");
if (!strcmp(argv[1], "single"))
single = true;
printf("running in %s mode\n", single ? "single" : "dbus");
sock = socket(AF_UNIX, SOCK_SEQPACKET, 0);
if (sock < 0)
die("can't create socket");
if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0)
die("can't bind address");
if (listen(sock, 5) < 0)
die("can't listen");
printf("waiting for client 1\n");
client1 = accept(sock, NULL, NULL);
if (client1 < 0)
die("accept");
if (!single) {
printf("waiting for client 2\n");
client2 = accept(sock, NULL, NULL);
if (client2 < 0)
die("accept");
write(client2, "\01", 1);
}
write(client1, "\0", 1);
printf("enter event loop\n");
pfd[0].fd = client1;
pfd[1].fd = client2;
pfd[0].events = pfd[1].events = POLLIN;
for (;;) {
rc = poll(pfd, single ? 1 : 2, -1);
if (rc < 0)
die("poll");
if (pfd[0].revents & POLLIN) {
len = read(client1, buf, sizeof(buf));
if (len < 0) {
die("read from client 1");
break;
}
if (len == 0) {
printf("client 1 EOF\n");
break;
}
rc = write(single ? client1 : client2, buf, len);
if (len != rc) {
die("write to client 2");
break;
}
cnt++;
}
if (pfd[1].revents & POLLIN) {
len = read(client2, buf, sizeof(buf));
if (len < 0) {
die("read from client 2");
break;
}
if (len == 0) {
printf("client 2 EOF\n");
break;
}
rc = write(client1, buf, len);
if (len != rc) {
die("write to client 1");
break;
}
cnt++;
}
}
printf("passed %lu messages\n", cnt);
return EXIT_SUCCESS;
}
[-- Attachment #3: client.c --]
[-- Type: text/x-csrc, Size: 2662 bytes --]
/* UDS client */
#include <alloca.h>
#include <errno.h>
#include <poll.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/timerfd.h>
#include <sys/un.h>
// use abstract address
#define SOCKET "\0udsbench.socket"
static int die(const char *msg)
{
if (errno)
fprintf(stderr, "%s: error %d %m\n", msg, errno);
else
fprintf(stderr, "%s\n", msg);
if (errno != EPIPE)
exit(EXIT_FAILURE);
return 0;
}
int main(int argc, char *argv[])
{
struct sockaddr_un addr = {
.sun_family = AF_UNIX,
.sun_path = SOCKET,
};
int sock, rc, client = 1, i;
char *buf;
struct timespec start, end;
double duration;
bool async = false;
struct pollfd pfd;
typeof(&read) f1, f2;
long msglen, loops;
if (argc != 4)
die("usage: client {sync|async} msglen loops");
if (!strcmp(argv[1], "async"))
async = true;
msglen = strtoul(argv[2], NULL, 0);
loops = strtoul(argv[3], NULL, 0);
printf("running in %s mode, msg size %lu, %lu loops\n",
async ? "async" : "sync", msglen, loops);
buf = alloca(msglen);
sock = socket(AF_UNIX, SOCK_SEQPACKET, 0);
if (sock < 0)
die("can't create socket");
if (connect(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0)
die("can't connect");
printf("waiting for other client\n");
rc = read(sock, buf, 1);
if (rc != 1) {
die("read");
exit(EXIT_FAILURE);
}
if (buf[0] != '\0')
client = 2;
printf("this is client %d\n", client);
clock_gettime(CLOCK_MONOTONIC, &start);
if (client == 1)
f1 = (typeof(&read))write, f2 = read;
else
f1 = read, f2 = (typeof(&read))write;
if (async && client == 1) {
pfd.fd = sock;
pfd.events = POLLIN | POLLOUT;
for (i = 0; i < loops; ) {
rc = poll(&pfd, 1, -1);
if (rc == -1)
die("poll");
if (pfd.revents & POLLOUT) {
rc = write(sock, buf, msglen);
if (rc != msglen) {
die("write");
break;
}
}
if (pfd.revents & POLLIN) {
rc = read(sock, buf, msglen);
if (rc != msglen) {
die("read");
break;
}
i++;
}
}
}
else {
for (i = 0; i < loops; i++) {
rc = f1(sock, buf, msglen);
if (rc != msglen) {
die(f1 == read ? "read" : "write");
break;
}
rc = f2(sock, buf, msglen);
if (rc != msglen) {
die(f2 == read ? "read" : "write");
break;
}
}
}
clock_gettime(CLOCK_MONOTONIC, &end);
duration = end.tv_sec - start.tv_sec +
(end.tv_nsec - start.tv_nsec) * 1e-9;
printf("%f s, %.0f msg/s, %.1f us/msg, %.3f MB/s\n", duration,
loops / duration, duration * 1e6 / loops,
(loops * msglen >> 20) / duration);
return EXIT_SUCCESS;
}
[-- Attachment #4: Makefile --]
[-- Type: text/plain, Size: 79 bytes --]
CFLAGS := -O3 -Wall
CC := gcc
all: client server
clean:
rm -f client server
next prev parent reply other threads:[~2015-07-07 22:22 UTC|newest]
Thread overview: 360+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-13 19:03 [GIT PULL] kdbus for 4.1-rc1 Greg Kroah-Hartman
2015-04-13 19:29 ` Eric W. Biederman
2015-04-13 19:42 ` Greg Kroah-Hartman
2015-04-13 19:49 ` Richard Weinberger
2015-04-13 19:54 ` Greg Kroah-Hartman
2015-04-13 19:57 ` Richard Weinberger
2015-04-13 20:03 ` Greg Kroah-Hartman
2015-04-13 20:08 ` Richard Weinberger
2015-04-13 20:22 ` Al Viro
2015-04-13 20:37 ` Greg Kroah-Hartman
2015-04-15 1:36 ` Andy Lutomirski
2015-04-15 6:54 ` Richard Weinberger
2015-04-15 7:31 ` Mike Galbraith
2015-04-15 14:48 ` Michal Schmidt
2015-04-15 15:34 ` Mike Galbraith
2015-04-15 16:42 ` Mike Galbraith
2015-04-17 16:53 ` Mike Galbraith
2015-04-15 8:48 ` Greg Kroah-Hartman
2015-04-15 9:00 ` Richard Weinberger
2015-04-15 9:20 ` Greg Kroah-Hartman
2015-04-15 9:21 ` Borislav Petkov
2015-04-15 9:27 ` Greg Kroah-Hartman
2015-04-15 9:30 ` Richard Weinberger
2015-04-15 9:49 ` Greg Kroah-Hartman
2015-04-15 9:53 ` Richard Weinberger
2015-04-15 9:44 ` Borislav Petkov
2015-04-15 11:40 ` Greg Kroah-Hartman
2015-04-15 13:03 ` Borislav Petkov
2015-04-15 15:41 ` Steven Rostedt
2015-04-15 16:40 ` Greg Kroah-Hartman
2015-04-15 16:48 ` Jiri Kosina
2015-04-15 17:33 ` Greg Kroah-Hartman
2015-04-15 18:06 ` Steven Rostedt
2015-04-16 8:43 ` Jiri Kosina
2015-04-15 17:20 ` Steven Rostedt
2015-04-15 17:41 ` Havoc Pennington
2015-04-15 17:55 ` Greg Kroah-Hartman
2015-04-15 21:55 ` One Thousand Gnomes
2015-04-15 18:12 ` Greg Kroah-Hartman
2015-04-15 19:04 ` Martin Steigerwald
2015-04-15 9:28 ` Richard Weinberger
2015-04-15 11:25 ` One Thousand Gnomes
2015-04-15 13:20 ` Borislav Petkov
2015-04-15 15:45 ` Steven Rostedt
2015-04-15 15:46 ` Andy Lutomirski
2015-04-15 16:35 ` Greg Kroah-Hartman
2015-04-15 17:06 ` Steven Rostedt
2015-04-15 17:31 ` Greg Kroah-Hartman
2015-04-15 18:04 ` Steven Rostedt
2015-04-15 21:56 ` One Thousand Gnomes
2015-04-15 22:11 ` Andy Lutomirski
2015-04-15 22:18 ` Al Viro
2015-04-15 22:28 ` Andy Lutomirski
2015-04-15 22:48 ` Al Viro
2015-04-15 22:54 ` Andy Lutomirski
2015-04-15 23:27 ` Al Viro
2015-04-16 0:47 ` Andy Lutomirski
2015-04-16 1:04 ` Al Viro
2015-04-16 5:53 ` Andy Lutomirski
2015-04-15 22:56 ` Eric Dumazet
2015-04-16 10:31 ` Daniel Mack
2015-04-16 12:02 ` Tom Gundersen
2015-04-16 12:15 ` Olaf Hering
2015-04-16 12:43 ` Harald Hoyer
2015-04-21 16:36 ` Eric W. Biederman
2015-04-21 19:38 ` Matthew Garrett
2015-04-21 19:55 ` Austin S Hemmelgarn
2015-04-15 8:18 ` Martin Steigerwald
2015-04-15 8:32 ` Greg Kroah-Hartman
2015-04-15 8:52 ` Martin Steigerwald
2015-04-15 9:02 ` Greg Kroah-Hartman
2015-04-15 9:28 ` Martin Steigerwald
2015-04-15 11:52 ` Greg Kroah-Hartman
2015-04-15 8:29 ` Greg Kroah-Hartman
2015-04-14 0:19 ` Eric W. Biederman
2015-04-14 0:34 ` Andy Lutomirski
2015-04-14 17:55 ` Greg Kroah-Hartman
2015-04-21 21:06 ` Issues with capability bits and meta-data in kdbus Eric W. Biederman
2015-04-22 1:30 ` Linus Torvalds
2015-04-22 1:54 ` Andy Lutomirski
2015-04-22 2:32 ` Linus Torvalds
2015-04-22 3:19 ` Andy Lutomirski
2015-04-22 13:46 ` David Herrmann
2015-04-22 11:40 ` Austin S Hemmelgarn
2015-04-22 13:07 ` Greg Kroah-Hartman
2015-04-22 14:05 ` Austin S Hemmelgarn
2015-04-22 13:27 ` Havoc Pennington
2015-04-22 14:35 ` Michele Curti
2015-04-22 20:02 ` Havoc Pennington
2015-04-22 21:48 ` Linus Torvalds
2015-04-23 5:35 ` Havoc Pennington
2015-04-24 14:32 ` Olaf Hering
2015-04-24 14:39 ` Michele Curti
2015-04-24 15:02 ` Olaf Hering
2015-04-24 15:14 ` Michele Curti
2015-04-24 14:41 ` Jiri Kosina
2015-04-24 15:04 ` Olaf Hering
2015-04-24 17:52 ` Linus Torvalds
2015-04-24 18:00 ` Linus Torvalds
2015-04-23 8:38 ` Michele Curti
2015-04-22 10:45 ` One Thousand Gnomes
2015-04-22 11:41 ` David Herrmann
2015-04-22 8:58 ` [GIT PULL] kdbus for 4.1-rc1 Borislav Petkov
2015-04-23 19:14 ` Greg Kroah-Hartman
2015-04-23 20:56 ` Borislav Petkov
2015-04-23 21:22 ` David Herrmann
2015-04-23 21:33 ` Richard Weinberger
2015-04-24 14:02 ` Steven Rostedt
2015-04-23 21:41 ` Borislav Petkov
2015-04-24 5:02 ` Steven Noonan
2015-04-24 9:04 ` Borislav Petkov
2015-04-24 10:28 ` Daniel Mack
2015-04-24 10:50 ` Borislav Petkov
2015-04-24 11:26 ` Daniel Mack
2015-04-24 6:36 ` Greg Kroah-Hartman
2015-04-24 6:45 ` Greg Kroah-Hartman
2015-04-24 7:27 ` Martin Steigerwald
2015-04-24 8:35 ` Greg Kroah-Hartman
2015-04-13 20:13 ` Andy Lutomirski
2015-04-13 20:45 ` Greg Kroah-Hartman
2015-04-13 21:01 ` Andy Lutomirski
2015-04-14 17:50 ` Greg Kroah-Hartman
2015-04-14 18:57 ` Andy Lutomirski
2015-04-14 19:23 ` Greg Kroah-Hartman
2015-04-14 19:24 ` Borislav Petkov
2015-04-14 19:32 ` Greg Kroah-Hartman
2015-04-14 19:40 ` Al Viro
2015-04-14 19:48 ` Greg Kroah-Hartman
2015-04-14 19:53 ` Borislav Petkov
2015-04-15 8:44 ` Greg Kroah-Hartman
2015-04-15 8:54 ` Jiri Kosina
2015-04-15 9:09 ` Greg Kroah-Hartman
2015-04-15 12:36 ` Al Viro
2015-04-15 13:13 ` Greg Kroah-Hartman
2015-04-15 16:47 ` Steven Rostedt
2015-04-15 9:35 ` Borislav Petkov
2015-04-15 11:45 ` Greg Kroah-Hartman
2015-04-14 20:11 ` Martin Steigerwald
2015-04-14 22:39 ` Jiri Kosina
2015-04-15 8:38 ` Greg Kroah-Hartman
2015-04-15 10:37 ` One Thousand Gnomes
2015-04-15 11:49 ` Greg Kroah-Hartman
2015-04-15 12:03 ` One Thousand Gnomes
2015-04-15 12:41 ` Greg Kroah-Hartman
2015-04-15 14:06 ` One Thousand Gnomes
2015-04-15 16:27 ` Havoc Pennington
2015-04-15 12:55 ` Al Viro
2015-04-15 17:33 ` Steven Rostedt
2015-04-15 18:11 ` Greg Kroah-Hartman
2015-04-14 19:35 ` Al Viro
2015-04-14 19:43 ` Greg Kroah-Hartman
2015-04-15 17:59 ` Austin S Hemmelgarn
2015-04-15 18:04 ` Rik van Riel
2015-04-15 22:22 ` One Thousand Gnomes
2015-04-16 16:02 ` Havoc Pennington
2015-04-16 17:31 ` David Herrmann
2015-04-16 20:55 ` Al Viro
2015-04-18 11:44 ` David Herrmann
2015-04-16 16:37 ` Robert Schwebel
2015-04-17 13:45 ` Greg Kroah-Hartman
2015-04-21 16:54 ` Diego Viola
2015-04-21 17:06 ` Greg Kroah-Hartman
2015-04-21 17:25 ` Diego Viola
2015-04-14 20:14 ` John Stoffel
2015-04-14 21:51 ` Steven Rostedt
2015-04-14 22:05 ` Jiri Kosina
2015-04-15 6:56 ` Borislav Petkov
2015-04-15 8:37 ` Greg Kroah-Hartman
2015-04-15 18:12 ` James Bottomley
2015-04-16 12:13 ` David Herrmann
2015-04-17 19:27 ` James Bottomley
2015-04-17 20:27 ` Havoc Pennington
2015-04-17 21:45 ` Alex Elsayed
2015-04-20 18:01 ` James Bottomley
2015-04-21 8:09 ` Daniel Mack
2015-04-21 18:25 ` Andy Lutomirski
2015-04-15 8:35 ` Greg Kroah-Hartman
2015-04-15 12:00 ` Greg Kroah-Hartman
2015-04-15 12:09 ` Jiri Kosina
2015-04-15 12:18 ` One Thousand Gnomes
2015-04-15 12:30 ` Greg Kroah-Hartman
2015-04-15 12:27 ` Greg Kroah-Hartman
2015-04-14 22:33 ` Jiri Kosina
2015-04-15 8:56 ` Greg Kroah-Hartman
2015-04-15 11:06 ` One Thousand Gnomes
2015-04-15 16:00 ` Rik van Riel
2015-04-15 16:44 ` Havoc Pennington
2015-04-15 18:16 ` Steven Rostedt
2015-04-15 18:40 ` Havoc Pennington
2015-04-15 20:22 ` Andy Lutomirski
2015-04-15 20:41 ` Al Viro
2015-04-15 21:07 ` Rik van Riel
2015-04-16 18:03 ` Djalal Harouni
2015-04-15 21:58 ` Havoc Pennington
2015-04-16 13:13 ` Tom Gundersen
2015-04-16 14:34 ` Andy Lutomirski
2015-04-16 15:01 ` David Herrmann
2015-04-16 17:04 ` Andy Lutomirski
2015-04-17 9:19 ` Michal Hocko
2015-04-17 18:54 ` Andy Lutomirski
2015-04-20 12:43 ` Michal Hocko
2015-04-20 20:03 ` Andy Lutomirski
2015-04-16 19:01 ` Havoc Pennington
2015-04-17 13:23 ` Daniel Mack
2015-04-17 14:54 ` Havoc Pennington
2015-04-15 22:08 ` One Thousand Gnomes
2015-04-16 13:14 ` Daniel Mack
2015-04-16 17:15 ` One Thousand Gnomes
2015-04-23 13:05 ` Greg Kroah-Hartman
2015-04-23 13:06 ` [PATCH] kdbus: pool: use __vfs_read() Greg Kroah-Hartman
2015-04-23 14:17 ` [GIT PULL] kdbus for 4.1-rc1 One Thousand Gnomes
2015-04-23 16:36 ` Greg Kroah-Hartman
2015-04-23 16:46 ` Andy Lutomirski
2015-04-23 17:16 ` Greg Kroah-Hartman
2015-04-23 17:34 ` Andy Lutomirski
2015-04-23 17:42 ` Stephen Smalley
2015-04-23 19:30 ` Greg Kroah-Hartman
2015-04-24 2:08 ` Karol Lewandowski
2015-04-29 21:16 ` Paul Moore
2015-04-23 17:57 ` Linus Torvalds
2015-04-23 18:04 ` Linus Torvalds
2015-04-23 18:56 ` Greg Kroah-Hartman
2015-04-23 19:22 ` Andy Lutomirski
2015-04-23 19:33 ` Greg KH
2015-04-23 20:53 ` Linus Torvalds
2015-04-23 20:51 ` Linus Torvalds
2015-04-23 18:48 ` Linus Torvalds
2015-04-24 13:50 ` Lukasz Skalski
2015-04-24 14:19 ` Havoc Pennington
2015-04-24 14:34 ` Lukasz Skalski
2015-04-24 19:25 ` Greg Kroah-Hartman
2015-04-27 8:57 ` Lukasz Skalski
2015-04-27 17:18 ` Greg Kroah-Hartman
2015-04-27 22:29 ` David Lang
2015-04-28 10:53 ` Lukasz Skalski
2015-04-27 21:32 ` Linus Torvalds
2015-04-27 21:40 ` Andy Lutomirski
2015-04-27 22:00 ` Linus Torvalds
2015-04-27 22:14 ` Linus Torvalds
2015-04-28 13:44 ` Havoc Pennington
2015-04-28 14:48 ` Havoc Pennington
2015-04-28 17:18 ` Theodore Ts'o
2015-04-28 20:25 ` Havoc Pennington
2015-04-28 23:12 ` John Stoffel
2015-04-29 0:45 ` Havoc Pennington
2015-04-29 11:33 ` Harald Hoyer
2015-04-29 12:47 ` Harald Hoyer
2015-04-29 13:33 ` Richard Weinberger
2015-04-29 13:38 ` Harald Hoyer
2015-04-29 13:46 ` Richard Weinberger
2015-04-29 14:01 ` Harald Hoyer
2015-04-29 14:04 ` Richard Weinberger
2015-04-29 14:11 ` Harald Hoyer
2015-04-29 14:18 ` Richard Weinberger
2015-04-29 14:53 ` Harald Hoyer
2015-04-29 14:58 ` Richard Weinberger
2015-04-29 15:03 ` Theodore Ts'o
2015-04-29 15:21 ` Austin S Hemmelgarn
2015-04-30 9:05 ` Łukasz Stelmach
2015-04-30 9:12 ` Richard Weinberger
2015-04-30 10:19 ` Łukasz Stelmach
2015-04-30 10:40 ` Richard Weinberger
2015-04-30 12:16 ` Łukasz Stelmach
2015-04-30 12:23 ` Richard Weinberger
2015-04-30 12:40 ` Łukasz Stelmach
2015-04-30 12:45 ` Richard Weinberger
2015-04-30 14:52 ` Łukasz Stelmach
2015-04-30 15:05 ` Richard Weinberger
2015-07-03 9:13 ` cee1
2015-04-29 16:25 ` Martin Steigerwald
2015-04-29 14:46 ` Austin S Hemmelgarn
2015-04-29 14:51 ` Richard Weinberger
2015-04-29 15:07 ` Harald Hoyer
2015-04-29 15:17 ` Austin S Hemmelgarn
2015-04-29 15:22 ` Harald Hoyer
2015-04-29 15:41 ` Austin S Hemmelgarn
2015-04-29 18:28 ` Martin Steigerwald
2015-04-29 16:26 ` John Stoffel
2015-04-29 17:39 ` Steven Rostedt
2015-04-29 19:10 ` Martin Steigerwald
2015-04-29 19:28 ` John Stoffel
2015-04-29 22:49 ` Theodore Ts'o
2015-04-30 0:05 ` David Lang
2015-04-30 0:15 ` Dave Airlie
2015-04-30 0:18 ` David Lang
2015-04-30 1:20 ` Dave Airlie
2015-04-29 13:35 ` Stephen Smalley
2015-04-29 15:18 ` Simon McVittie
2015-04-29 17:48 ` Stephen Smalley
2015-04-29 15:27 ` Martin Steigerwald
2015-04-29 16:36 ` David Lang
2015-04-29 18:54 ` Andy Lutomirski
2015-04-29 19:30 ` Austin S Hemmelgarn
2015-04-29 19:42 ` Andy Lutomirski
2015-04-29 20:15 ` David Lang
2015-04-29 20:24 ` Andy Lutomirski
2015-04-29 20:43 ` David Lang
2015-04-29 20:51 ` David Herrmann
2015-04-30 1:42 ` John Stoffel
2015-04-29 22:34 ` John Stoffel
2015-04-30 20:14 ` Eric W. Biederman
2015-05-01 15:49 ` Austin S Hemmelgarn
2015-04-28 17:19 ` David Lang
2015-04-28 19:19 ` Havoc Pennington
2015-04-28 20:34 ` David Lang
2015-04-28 20:42 ` Andy Lutomirski
2015-04-28 20:43 ` Linus Torvalds
2015-06-22 17:33 ` Jindrich Makovicka
2015-06-22 20:23 ` Jiri Kosina
2015-06-22 21:24 ` Jindřich Makovička
2015-07-07 21:40 ` Johannes Stezenbach [this message]
2015-04-28 12:49 ` Havoc Pennington
2015-04-28 10:39 ` Lukasz Skalski
2015-04-23 18:33 ` Richard Weinberger
2015-04-23 19:01 ` Greg Kroah-Hartman
2015-04-23 18:57 ` Kdbus needs meaningful review (was: Re: [GIT PULL] kdbus for 4.1-rc1) Eric W. Biederman
-- strict thread matches above, loose matches on Subject: below --
2015-04-15 18:18 [GIT PULL] kdbus for 4.1-rc1 Linus Torvalds
2015-04-15 18:28 ` Linus Torvalds
2015-04-15 18:37 ` Greg Kroah-Hartman
2015-04-15 22:16 ` One Thousand Gnomes
2015-04-15 18:37 ` Greg Kroah-Hartman
2015-04-15 22:26 ` Andy Lutomirski
2015-04-16 18:20 ` David Herrmann
2015-04-20 20:43 ` Richard Weinberger
2015-04-20 20:56 ` Greg Kroah-Hartman
2015-04-20 21:16 ` Richard Weinberger
2015-04-20 21:46 ` Greg Kroah-Hartman
2015-04-20 22:06 ` Andy Lutomirski
2015-04-21 7:38 ` Johannes Stezenbach
2015-04-21 9:35 ` One Thousand Gnomes
2015-04-21 10:17 ` David Herrmann
2015-04-21 12:20 ` Michal Hocko
2015-04-21 14:01 ` David Herrmann
2015-04-21 14:27 ` Michal Hocko
2015-04-21 14:47 ` David Herrmann
2015-04-21 18:11 ` Andy Lutomirski
2015-04-22 14:57 ` Michal Hocko
2015-04-22 19:36 ` Andy Lutomirski
2015-04-27 12:46 ` Michal Hocko
2015-04-27 20:11 ` Andy Lutomirski
2015-04-29 17:24 ` Michal Hocko
2015-04-21 10:51 ` Greg Kroah-Hartman
2015-04-21 11:03 ` Jiri Kosina
2015-04-21 12:56 ` Greg Kroah-Hartman
2015-04-21 10:31 ` Greg Kroah-Hartman
2015-04-21 10:53 ` Borislav Petkov
2015-04-21 11:09 ` Greg Kroah-Hartman
2015-04-21 11:39 ` Borislav Petkov
2015-04-21 13:18 ` Olivier Galibert
2015-04-21 13:48 ` Greg Kroah-Hartman
2015-04-21 15:53 ` One Thousand Gnomes
2015-04-21 18:18 ` Andy Lutomirski
2015-04-21 8:18 ` Richard Cochran
2015-04-21 9:07 ` Johannes Stezenbach
2015-04-21 13:37 ` Havoc Pennington
2015-04-22 1:51 ` Bernd Petrovitsch
2015-04-22 3:11 ` Havoc Pennington
2015-04-22 13:09 ` Johannes Stezenbach
2015-04-20 20:26 George Spelvin
2015-04-21 12:08 ` Austin S Hemmelgarn
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=20150707214017.GA12313@sig21.net \
--to=js@sig21.net \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=daniel@zonque.org \
--cc=dh.herrmann@gmail.com \
--cc=ebiederm@xmission.com \
--cc=gnomes@lxorguk.ukuu.org.uk \
--cc=gregkh@linuxfoundation.org \
--cc=jkosina@suse.cz \
--cc=l.skalski@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=teg@jklm.no \
--cc=tixxdz@opendz.org \
--cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.