Skip to content

RFC relay revamp, fourth installment

Tom Zanussi lkml 1 version In review

Get series with b4
b4 am 1222666787.7637.173.camel@charm-linux

Versions newest first

  1. v1 RFC Latest11 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11relay - Clean up relay_switch_subbuf() and make waking up consumers optional.include/linux/relay.h kernel/relay.c+75 -190 replies
2/11relay - Make the relay sub-buffer switch code replaceable.include/linux/relay.h kernel/relay.c+26 -100 replies
3/11relay - Add channel flags to relay, remove global callback param.block/blktrace.c include/linux/relay.h kernel/relay.c +1 more+27 -280 replies
4/11relay - Add reserved param to switch-subbuf, in preparation for non-pad write/reserve.include/linux/relay.h kernel/relay.c+25 -110 replies
5/11relay - Map the first sub-buffer at the end of the buffer, for temporary convenience.kernel/relay.c+15 -110 replies
6/11relay - Replace relay_reserve/relay_write with non-padded versions.include/linux/relay.h kernel/relay.c+64 -450 replies
7/11relay - Remove padding-related code from relay_read()/relay_splice_read() et al.kernel/relay.c+0 -07 replies
8/11relay - Clean up remaining padding-related junk.block/blktrace.c include/linux/relay.h kernel/relay.c +1 more+13 -310 replies
9/11relay - Replace subbuf_start and notify_consumers callbacks with new_subbuf.block/blktrace.c include/linux/blktrace_api.h include/linux/relay.h +2 more+66 -950 replies
10/11relay - Remove sub-buffers from relay.block/blktrace.c include/linux/relay.h kernel/relay.c +1 more+202 -2000 replies
11/11relay - Remove vmap of relay buffers.block/blktrace.c include/linux/relay.h kernel/relay.c+46 -720 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/11] relay revamp, fourth installment

Here's the final installment of the relay cleanup patchset.

1-2 make the write path completely replaceable.
3 adds flags along with some related cleanup.
4-8 remove the padding in several stages.
9 simplifies the callbacks
10 removes the concept of sub-buffers

The new patches in this set are:

11 - remove the vmap of relay buffers

I think I've basically accomplished what I wanted to with this patchset
- getting rid of everything that was unnecessary and unused and fixing a couple of small design mistakes has made both the interface and the code much cleaner, closer to what it should have been from the beginning. The fact that it took less than a week of part-time hacking I think shows that the problems were mostly superficial, and the patches themselves pretty much reflect that - something in hindsight that should have been done long ago.

I don't plan on doing any more with this - if anyone else wants to, feel free. In the meantime, until the unified trace buffer replaces it, the current relay AFAIK works just fine and performs well for its existing users, so actually making these or any other changes at this point would I think be a wasted effort.

Tom