I assume that we may have both: CPUs that may have ability to support multiple 
transactions, CPUs that support only one, CPUs that support none (as today), as 
well as different devices - transaction capable and not.
So, it seems there is a room for compilers to do their work and for class 
drivers to do their, right?

boris

> -----Original Message-----
> From: Matthew Wilcox [mailto:wi...@linux.intel.com]
> Sent: Thursday, September 26, 2013 1:56 PM
> To: Zuckerman, Boris
> Cc: Vladislav Bolkhovitin; rob.gitt...@linux.intel.com; 
> linux-p...@lists.infradead.org;
> linux-fsde...@veger.org; linux-kernel@vger.kernel.org
> Subject: Re: RFC Block Layer Extensions to Support NV-DIMMs
> 
> On Thu, Sep 26, 2013 at 02:56:17PM +0000, Zuckerman, Boris wrote:
> > To work with persistent memory as efficiently as we can work with RAM we 
> > need a
> bit more than "commit". It's reasonable to expect that we get some additional
> support from CPUs that goes beyond mfence and mflush. That may include 
> discovery,
> transactional support, etc. Encapsulating that in a special class sooner than 
> later
> seams a right thing to do...
> 
> If it's something CPU-specific, then we wouldn't handle it as part of the 
> "class", we'd
> handle it as an architecture abstraction.  It's only operations which are 
> device-specific
> which would need to be exposed through an operations vector.  For example, 
> suppose
> you buy one device from IBM and another device from HP, and plug them both 
> into
> your SPARC system.  The code you compile needs to run on SPARC, doing whatever
> CPU operations are supported, but if HP and IBM have different ways of 
> handling a
> "commit" operation, we need that operation to be part of an operations vector.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to