Re: [PATCH v2 0/4] Static calls

Edward Cree
2018-12-12T17:11:09Z

On 12/12/18 05:59, Nadav Amit wrote:
> Thanks for cc’ing me. (I didn’t know about the other patch-sets.)
Well in my case, that's because I haven't posted any yet.  (Will follow up
shortly with what I currently have, though it's not pretty.)

Looking at your patches, it seems you've got a much more developed learning
mechanism.  Mine on the other hand is brutally simple but runs continuously
(i.e. after we patch we immediately enter the next 'relearning' phase);
since it never does anything but prod a handful of percpu variables, this
shouldn't be too costly.

Also, you've got the macrology for making all indirect calls use this,
whereas at present I just have an open-coded instance on a single call site
(I went with deliver_skb in the networking stack).

So I think where we probably want to go from here is:
1) get Josh's static_calls in.  AIUI Linus seems to prefer the out-of-line
approach; I'd say ditch the inline version (at least for now).
2) build a relpolines patch series that uses
i) static_calls for the text-patching part
ii) as much of Nadav's macrology as is applicable
iii) either my or Nadav's learning mechanism; we can experiment with both,
bikeshed it incessantly etc.

Seem reasonable?

-Ed