[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 03/24] x86: refactor psr: implement main data structures.
On 17-03-01 01:17:22, Jan Beulich wrote: > >>> On 01.03.17 at 06:10, <yi.y.sun@xxxxxxxxxxxxxxx> wrote: > > On 17-02-28 11:58:59, Roger Pau Monn wrote: > >> On Wed, Feb 15, 2017 at 04:49:18PM +0800, Yi Sun wrote: > >> > + struct feat_ops ops; > >> > >> I would place the function hooks in this struct directly, instead of > >> nesting > >> them inside of another struct. The hooks AFAICT are shared between all the > >> different PSR features. > >> > > Jan suggested this before in v4 patch. We have discussed this and Jan > > accepts > > current implementation. The reason is below: > > I'm pretty sure I didn't (in this specific form). Instead you want this > to be a pointer (to a const struct instance), i.e. ... > Sorry for confusion. I think you suggested same thing (maybe I misunderstood?). Quoted from v4: "What is the reason to have a separate structure for this, when you don't store a pointer in struct feat_node? If this was inlined there, the odd forward declaration of struct feat_node wouldn't be needed either. (The same question may apply to struct feat_hw_info.)" So I explained as below and asked if you can accept such implementation. And got your positive ack. Of course, I should declare l3_cat_ops to const. > > "To facilitate the callback functions assignment for a feature, I defined > > feature specific callback function ops like below. > > > > struct feat_ops l3_cat_ops = { > > .init_feature = l3_cat_init_feature, > > .get_max_cos_max = l3_cat_get_max_cos_max, > > ...... > > }; > > > > And directly assign it to global feature node in initialization process like > > below. > > > > static void cpu_init_work(void) > > { > > ...... > > feat_tmp = feat_l3_cat; > > feat_l3_cat = NULL; > > feat_tmp->ops = l3_cat_ops; > > feat_tmp->ops = &l3_cat_ops; > > Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |