Messages in this thread | | | From | "Jason A. Donenfeld" <> | Date | Thu, 13 Sep 2018 15:52:21 +0200 | Subject | Re: [PATCH net-next v3 01/17] asm: simd context helper API |
| |
On Thu, Sep 13, 2018 at 7:03 AM Kevin Easton <kevin@guarana.org> wrote: > Yes. It's also how most get/put APIs already work in the kernel, eg > kref_get/put (mostly because they tend to be 'getting/putting' an > already-initialized object, though).
Right; in this case the object wouldn't be initialized yet, which might defeat the purpose, since one advantage of the & way you mentioned is _put modifies the context.
Andy - any opinions on this? The tl;dr is:
1) what we have now:
simd_context_t simd_context = simd_get(); for (item in items) { do_something(item); simd_context = simd_relax(simd_context); } simd_put();
2) what kevin is proposing:
simd_context_t simd_context;
simd_get(&simd_context); for (item in items) { do_something(item); simd_relax(&simd_context); } simd_put(&simd_context);
I can see pros and cons of each approach.
| |