From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yu, Zhang" Subject: Re: [PATCH 0/2] Refactor ioreq server for better performance. Date: Mon, 06 Jul 2015 15:09:04 +0800 Message-ID: <559A2990.7070502@linux.intel.com> References: <1435840294-22114-1-git-send-email-yu.c.zhang@linux.intel.com> <559553C3.1090703@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; Format="flowed" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZC0co-00050O-7E for xen-devel@lists.xenproject.org; Mon, 06 Jul 2015 07:15:34 +0000 In-Reply-To: <559553C3.1090703@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org, keir@xen.org, JBeulich@suse.com, andrew.cooper3@citrix.com, Paul.Durrant@citrix.com Cc: kevin.tian@intel.com, zhiyuan.lv@intel.com List-Id: xen-devel@lists.xenproject.org A new patchset with v2 prefix and change log was just sent out. So please ignore this thread, and sorry for the inconvenience. :) Yu On 7/2/2015 11:07 PM, Yu, Zhang wrote: > Oh, I forgot the version number and change history. > This patchset should be version 2. > > The change history should be: > 1> Split the original patch into 2; > 2> Take Paul Durrant=92s comments: > a> Add a name member in the struct rb_rangeset, and use the =91q=92 > debug key to dump the ranges in ioreq server; > b> Keep original routine names for hvm ioreq server; > c>. Commit message changes =96 mention that a future patch to change > the maximum ranges inside ioreq server; > > Sorry, my fault. Could I add this change history in next version, > or should I resend the version 2? :) > > Thanks > Yu > > On 7/2/2015 8:31 PM, Yu Zhang wrote: >> XenGT leverages ioreq server to track and forward the accesses to >> GPU I/O resources, e.g. the PPGTT(per-process graphic translation >> tables). Currently, ioreq server uses rangeset to track the BDF/ >> PIO/MMIO ranges to be emulated. To select an ioreq server, the >> rangeset is searched to see if the I/O range is recorded. However, >> traversing the link list inside rangeset could be time consuming >> when number of ranges is too high. On HSW platform, number of PPGTTs >> for each vGPU could be several hundred. On BDW, this value could >> be several thousand. >> >> To accommodate more ranges, limitation of the number of ranges in an >> ioreq server, MAX_NR_IO_RANGES is changed - future patches will be >> provided to tune this with other approaches. And to increase the ioreq >> server performance, a new data structure, rb_rangeset, is introduced. >> >> Yu Zhang (2): >> Resize the MAX_NR_IO_RANGES for ioreq server >> Add new data structure to track ranges. >> >> xen/arch/x86/domain.c | 3 + >> xen/arch/x86/hvm/hvm.c | 56 ++++++-- >> xen/common/Makefile | 1 + >> xen/common/rb_rangeset.c | 281 >> +++++++++++++++++++++++++++++++++++++++ >> xen/include/asm-x86/hvm/domain.h | 4 +- >> xen/include/asm-x86/hvm/hvm.h | 1 + >> xen/include/xen/rb_rangeset.h | 49 +++++++ >> 7 files changed, 379 insertions(+), 16 deletions(-) >> create mode 100644 xen/common/rb_rangeset.c >> create mode 100644 xen/include/xen/rb_rangeset.h >> > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel > >