[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback supp
From: |
Jeff Moyer |
Subject: |
Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support |
Date: |
Mon, 22 Apr 2019 11:51:35 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Dan Williams <address@hidden> writes:
> On Thu, Apr 18, 2019 at 9:18 AM Christoph Hellwig <address@hidden> wrote:
>>
>> On Thu, Apr 18, 2019 at 09:05:05AM -0700, Dan Williams wrote:
>> > > > I'd either add a comment about avoiding retpoline overhead here or just
>> > > > make ->flush == NULL mean generic_nvdimm_flush(). Just so that people
>> > > > don't
>> > > > get confused by the code.
>> > >
>> > > Isn't this premature optimization? I really don't like adding things
>> > > like this without some numbers to show it's worth it.
>> >
>> > I don't think it's premature given this optimization technique is
>> > already being deployed elsewhere, see:
>> >
>> > https://lwn.net/Articles/774347/
>>
>> For one this one was backed by numbers, and second after feedback
>> from Linux we switched to the NULL pointer check instead.
>
> Ok I should have noticed the switch to NULL pointer check. However,
> the question still stands do we want everyone to run numbers to
> justify this optimization, or make it a new common kernel coding
> practice to do:
>
> if (!object->op)
> generic_op(object);
> else
> object->op(object);
>
> ...in hot paths?
I don't think nvdimm_flush is a hot path. Numbers of some
representative workload would prove one of us right.
-Jeff
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, (continued)
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Jan Kara, 2019/04/12
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Jeff Moyer, 2019/04/12
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Pankaj Gupta, 2019/04/18
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Dan Williams, 2019/04/18
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Jeff Moyer, 2019/04/18
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Christoph Hellwig, 2019/04/18
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Dan Williams, 2019/04/18
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support,
Jeff Moyer <=
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Dan Williams, 2019/04/22
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Jeff Moyer, 2019/04/22
- Re: [Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support, Pankaj Gupta, 2019/04/23
[Qemu-devel] [PATCH v5 4/6] dax: check synchronous mapping is supported, Pankaj Gupta, 2019/04/10
[Qemu-devel] [PATCH v5 2/5] virtio-pmem: Add virtio pmem driver, Pankaj Gupta, 2019/04/10