Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1792265imm; Sat, 15 Sep 2018 03:14:28 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZai327vJYr6Y3aaWPOjHailejvIrVILgzMU3kAbDMrj/8bHzGF/4LyX1Qn0EviZJFStm5x X-Received: by 2002:a63:9551:: with SMTP id t17-v6mr15075249pgn.432.1537006467917; Sat, 15 Sep 2018 03:14:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537006467; cv=none; d=google.com; s=arc-20160816; b=wO/KC8ttPoKSyBloZx3bEKJEdt6FsSLPtYTYJgwWDISyiBFgf7zWYDLDD/dPHFmFp6 X0CtD582bYHweDYlpWpBiYtaaMZ+mBxGkdh4jO9csWKVTQzfYKnYmaoIhtm+ntJCc/Z8 fW9eL9LmlBI666yE5qnHE4UfR10+vjTSRPOPZOvhG/KWEXuRQkCL3l+L16VzBsUhiHA/ yZLtKzYXOp181PfvEMEC/Y4EyjloCmpfDyal/Ayqbap039dc2E1agcjzxlJtkmRCusSi S+pACsN0LzGUInGda9BwqjpWJKBfjuSedd96lp80fAEHTCuSyLTOqwyUm0G10wGE5Shv L69A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=k00q/vzaHgS8BOc94X2X5YPweu9u97B5oJhmiVYewjs=; b=B6CQmAYToMVF8iV9zs4RvJcYTIrk6I9nV3h5k1X5lZbjbbig5O5KexvOhgTNVIQ6O3 vugqZPDRAq8gV/CbpEEiUB9SW4avraxYnSezCrGFEq+2zdjQzm/Ioe5HvTGUFgfQpgxs oQw8qDnrf9xV9qrQDL2ZYkcSteFYJ0CNaqo1xrKaHSsPnke0iJJ3MjVsOVlS2pQrB+tG 76dSZICGdiHvUiD8AInGBSrVxG3iYtmNpitDSL4RkFTQ+nnheAIdDOy4izsU+NE6oKdI AOAi/THDuEi35yNuHkcS/+aw6uBt6Utcvb2iTRzM1NAK7d38/V0R63HE3+uCPXd9JjBP Oqlg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i16-v6si9716001pgi.660.2018.09.15.03.14.12; Sat, 15 Sep 2018 03:14:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727690AbeIOPce (ORCPT + 99 others); Sat, 15 Sep 2018 11:32:34 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:51596 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726806AbeIOPce (ORCPT ); Sat, 15 Sep 2018 11:32:34 -0400 Received: from p4fea45ac.dip0.t-ipconnect.de ([79.234.69.172] helo=nanos) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1g17aL-0005nz-O2; Sat, 15 Sep 2018 12:13:53 +0200 Date: Sat, 15 Sep 2018 12:13:53 +0200 (CEST) From: Thomas Gleixner To: Fenghua Yu cc: Ingo Molnar , H Peter Anvin , Tony Luck , "Chatre, Reinette" , Xiaochen Shen , Chen Yu , linux-kernel , x86 Subject: Re: [PATCH 1/9] x86/intel_rdt: Fix MBA parsing callback In-Reply-To: <1536957129-70380-2-git-send-email-fenghua.yu@intel.com> Message-ID: References: <1536957129-70380-1-git-send-email-fenghua.yu@intel.com> <1536957129-70380-2-git-send-email-fenghua.yu@intel.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 14 Sep 2018, Fenghua Yu wrote: > int parse_cbm(void *_data, struct rdt_resource *r, struct rdt_domain *d); > -int parse_bw(void *_buf, struct rdt_resource *r, struct rdt_domain *d); > +int parse_bw(void *_data, struct rdt_resource *r, struct rdt_domain *d); Sorry no. This keeps the code equally error prone as it was. Why is that argument a void pointer in the first place? > extern struct mutex rdtgroup_mutex; > > diff --git a/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c b/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c > index af358ca05160..d427c86e7cd0 100644 > --- a/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c > +++ b/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c > @@ -28,6 +28,11 @@ > #include > #include "intel_rdt.h" > > +struct rdt_parse_data { > + struct rdtgroup *rdtgrp; > + char *buf; > +}; This is a copy of rdt_cbm_parse_data. Sigh. The right thing to do here is 1) rename struct rdt_cbm_parse_data to struct rdt_parse_data 2) Move it to a header file 3) Change the argument of parse_ctrlval from void * to struct rdt_parse_data * Everything else is just proliferating the initial underlying problem of having a void pointer in those callbacks for no reason at all. Thanks, tglx