[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RESEND v5 07/24] x86: refactor psr: implement get value flow.
On Tue, Feb 07, 2017 at 10:47:01AM +0800, Yi Sun wrote: > Hi, > > Thanks for reviewing! I agree with your comments except below one. Could you > please check my response? > > On 17-01-31 15:29:34, Konrad Rzeszutek Wilk wrote: > > On Thu, Jan 19, 2017 at 02:01:09PM +0800, Yi Sun wrote: > > > +int psr_get_val(struct domain *d, unsigned int socket, > > > + uint64_t *val, enum cbm_type type) > > > { > > > - return 0; > > > + const struct psr_socket_info *info = get_socket_info(socket); > > > + unsigned int cos = d->arch.psr_cos_ids[socket]; > > > + const struct feat_node *feat; > > > + enum psr_feat_type feat_type; > > > + > > > + if ( IS_ERR(info) ) > > > + return PTR_ERR(info); > > > + > > > + feat_type = psr_cbm_type_to_feat_type(type); > > > + list_for_each_entry(feat, &info->feat_list, list) > > > + { > > > + if ( feat->feature != feat_type ) > > > + continue; > > > + > > > + if ( feat->ops.get_val(feat, cos, type, val) ) > > > + /* Found */ > > > > No need. The 'psr_get_info' does not have this. > > > > > + return 0; > > > + } > > > + > > > + return -ENOENT; > > > > This function looks quite similar to 'psr_get_info'. > > > > Perhaps it may make sense to have an common one that has an > > extra argument (whether to call get_val or get_feat_info)? > > > > And then psr_get_val and psr_get_info can call in this common > > code with this extra argument attached? > > > Yes, the both functions are almost same. But I feel not good to combine them > to > one function. I think it makes the interface not explicit. As there are only 3 > interfaces exposed by psr.c, I want to keep current implementation. Is that > acceptable to you? Keep the interface as is. You would have _three_ functions: psr_get_val psr_get_info and the one both of them would call which would be called: __psr_get which would do the heavy lifting. > > Thanks, > Sun Yi _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |