Re: [patch 0/1] Apply segment size and segment boundary to integrity data

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Martin K. Petersen
Date: Thursday, July 15, 2010 - 9:03 am

>>>>> "Christof" == Christof Schmitt <christof.schmitt@de.ibm.com> writes:

Christof> While experimenting with the data integrity support in the
Christof> Linux kernel, i found that the block layer integrity code can
Christof> send integrity data segments for a request that do not adhere
Christof> to the queue limits.  The integrity data segment can be larger
Christof> than queue_max_segment_size and the segment does not adhere to
Christof> the queue_segment_boundary.

Correct.  That was a deliberate design decision.

Modern HBAs allow essentially indefinite chaining and our block layer
segmentation controls are to some extent legacy baggage.  I did not want
to put in a set of constraints on the DI scatterlist because I was
afraid it would encourage vendors to actually them.


Christof> It appears to me that the right way would be to apply the same
Christof> restrictions that are in place for data segments also to
Christof> integrity data segments. The patch works for my experiments
Christof> and applies on top of the current Linux tree (2.6.35-rc5).

Who says constraints on the integrity scatterlist are the same as on the
data ditto?  In my experience they are not.  If you must do this, then
the DI constraints should be separate from the data segmentation ones.
But I'm interested in what motivated this change to begin with.

Your change also has repercussions when merging requests and bios.  We'd
need to honor the DI segmentation constraints when merging.  Otherwise
we may end up going beyond the controller limits when mapping the sgl.

-- 
Martin K. Petersen	Oracle Linux Engineering
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 1/1] block: Apply segment size and boundary limits ..., Christof Schmitt, (Thu Jul 15, 8:34 am)
Re: [patch 0/1] Apply segment size and segment boundary to ..., Martin K. Petersen, (Thu Jul 15, 9:03 am)
Re: [patch 0/1] Apply segment size and segment boundary to ..., Martin K. Petersen, (Thu Jul 15, 9:35 am)
Re: [patch 0/1] Apply segment size and segment boundary to ..., Martin K. Petersen, (Mon Jul 19, 9:45 pm)
Re: [patch 0/1] Apply segment size and segment boundary to ..., Martin K. Petersen, (Tue Jul 20, 9:20 pm)
Re: [patch 0/1] Apply segment size and segment boundary to ..., Martin K. Petersen, (Mon Aug 2, 9:44 pm)