Messages in this thread |  | | Subject | Re: [PATCH v14 01/13] sk_run_filter: add BPF_S_ANC_SECCOMP_LD_W | | From | Eric Dumazet <> | | Date | Tue, 13 Mar 2012 10:13:48 -0700 |
| |
On Tue, 2012-03-13 at 11:04 +0100, Indan Zupancic wrote: > Hello, > > I made a quick pseudo-patch for BPF JIT support. As far as I can tell, > the actual code itself is very simple, just: >
> - bpf_jit_compile(fp); > + jit = bpf_jit_compile(fp->insns, fp->len, 1); > + if (jit) { > + fp->bpf_func = jit; > + /* Free unused insns memory */ > + newfp = krealloc(fp, sizeof(*fp), GFP_KERNEL); > + if (newfp) > + fp = newfp; > + } > > old_fp = rcu_dereference_protected(sk->sk_filter, > sock_owned_by_user(sk));
Dont mix unrelated changes in a single patch.
Current krealloc() doesnt alloc a new area if the current one is bigger than 'new_size', but this might change in next kernel versions.
So this part of your patch does nothing.
If it did, this kind of 'optimization' can actually be not good, because sizeof(*fp) is small enough (less than half cache line size) to trigger a possible false sharing issue. (other part of the cache line could be used to hold a often dirtied object)
|  |