From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: shared rings. rsp_cons, rsp_events, req_prod, req_events docs, charts, timelines? Date: Mon, 16 May 2011 17:16:19 -0400 Message-ID: <20110516211619.GA27183@dumpdata.com> References: <20110516170543.GA28949@dumpdata.com> <1305576187.2155.6.camel@ramone> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1305576187.2155.6.camel@ramone> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Daniel Stodden Cc: Ian Campbell , "xen-devel@lists.xensource.com" , "keir@xen.org" , "JBeulich@novell.com" List-Id: xen-devel@lists.xenproject.org On Mon, May 16, 2011 at 01:03:07PM -0700, Daniel Stodden wrote: > On Mon, 2011-05-16 at 13:05 -0400, Konrad Rzeszutek Wilk wrote: > > The current ring implementation uses these values and then macros such > > as RING_HAS_UNCONSUMED_REQUESTS, FINAL_RING_CHECK, etc to determine whether > > to continue or how to control the flow. Looking way back in the history > > at c/s 8153 it used to have a 'server_is_sleeping' value to determine whether > > to kick the back (now called 'req_event'), and the 'rsp_event' (unchanged) > > to kick the frontend. > > > > Anyhow, are there any diagrams or design docs documenting how these simple four > > shared values help to control the pipeline and interrupt generation? Or how > > they evolved over time to become what they are right now? > > Iirc, I've known these headers since late xen 2.x versions and never saw > it done differently (i.e. req/rsp_event, and symmetrically). > > Never saw dedicated documentation either, but found the header comments > and sources sufficient. > > Do you just want documentation to point at, or is there something not > clear about them? I was hoping to be able to double-check what I groked from the code. Figured an example of the flow between frontend and backend over some time with different scenarios would exist somwhere.