[PATCH v2 hmm 2/9] mm/hmm: return the fault type from hmm_pte_need_fault()

Jason Gunthorpe jgg at mellanox.com
Tue Mar 24 18:58:07 UTC 2020


On Tue, Mar 24, 2020 at 08:27:12AM +0100, Christoph Hellwig wrote:
> On Mon, Mar 23, 2020 at 10:14:50PM -0300, Jason Gunthorpe wrote:
> > +enum {
> > +	HMM_NEED_FAULT = 1 << 0,
> > +	HMM_NEED_WRITE_FAULT = HMM_NEED_FAULT | (1 << 1),
> > +	HMM_NEED_ALL_BITS = HMM_NEED_FAULT | HMM_NEED_WRITE_FAULT,
> 
> I have to say I find the compound version of HMM_NEED_WRITE_FAULT
> way harder to understand than the logic in the previous version,
> and would refer keeping separate bits here.
> 
> Mostly beccause of statements like this:
> 
> > +	if ((required_fault & HMM_NEED_WRITE_FAULT) == HMM_NEED_WRITE_FAULT) {
> 
> which seems rather weird.

Okay, I checked it over, and there is one weird statement above but
only one place that |'s them together, so it is overall simpler to
split the enum.

I'll keep the HMM_NEED_ALL_BITS, I think that purpose is clear enough.

Thanks,
Jason


More information about the dri-devel mailing list