> -----Original Message-----
> From: Dan Williams [mailto:[email protected]]
> Sent: Thursday, June 28, 2018 12:53 PM
> To: Qi, Fuli/斉 福利 <[email protected]>
> Cc: linux-nvdimm <[email protected]>
> Subject: Re: [PATCH v8 1/3] ndctl, monitor: add ndctl monitor
> 
> On Wed, Jun 27, 2018 at 8:02 PM, Qi, Fuli <[email protected]> wrote:
> > Thanks for your comments.
> >
> 
> Thanks for continuing to work through the feedback.
> 
> >> > +static struct monitor_dimm *util_dimm_event_filter(struct monitor_dimm
> *mdimm,
> >> > +               const char *__ident) {
> >> > +       char *ident, *save;
> >> > +       const char *name;
> >> > +       struct monitor_dimm *__mdimm;
> >> > +       struct ndctl_ctx *ctx = ndctl_dimm_get_ctx(mdimm->dimm);
> >> > +
> >> > +       __mdimm = calloc(1, sizeof(struct monitor_dimm));
> >> > +       if (!__mdimm) {
> >> > +               fail("\n");
> >> > +               return NULL;
> >> > +       }
> >>
> >> Why do we need a dynamic allocation? Can't this just live on the stack?
> >>
> > Actually, I just use the __dimm to compare current dimm health with the 
> > dimm health
> when the monitor started.
> > When the dimm changed, the __dimm should be initialized. I think a dynamic 
> > allocation
> is smarter than live on the stack.
> 
> Allocating memory should always be avoided when not necessary because it's so 
> error
> prone in C. None of the other util_X_filter() routines need to allocate 
> memory, in
> fact the point is to validate that the passed in object passes the filter, 
> not to
> swap the passed in object with a new one.
> 

OK, I see. 

Thank you very much.
Qi
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to