The more I think about it, a reasonable solution might actually be to
use threadlets for disk I/O and pure event based processing for
networking. It is two different handling paths and non-unified,
but that might be the price for good performance :-)
I generally agree, with some comments.
If we come to the decision that there are some message rates that are
better suited to delivery into a user-read ring (10gige rx to kevent,
say) then it doesn't seem like it would be much of a stretch to add a
facility where syslet completion could be funneled into that channel
as well.
I also wonder if there isn't some opportunity to cut down the number
of syscalls / op in networking land. Is it madness to think of a
call like recvmsgv() which could provide a vector of msghdrs? It
might not make sense, but it might cut down on the per-op overhead
for loads that know they're going to be heavy enough to get a decent
amount of batching without fatally harming latency. Maybe those
loads are rare..
- z
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]