lkml.org 
[lkml]   [2008]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [ANNOUNCE] ddtree: A git kernel tree for storage servers
Date
On Wednesday 19 March 2008 13:23, Mike Snitzer wrote:
> > * Block layer deadlock fixes (Status: production)
>
> Do you happen to have a pointer to where these block layer deadlock
> fixes are? Or will you be committing them shortly?

Hi Mike,

OK, this is committed now, but caveat: improved, untested except for
booting. But what could possibly go wrong? :-/

http://phunq.net/ddtree?p=ddtree/.git;a=blob;f=patches/bio-throttle

The production version is sitting in the code.google.com svn repository
in ddsnap/patches/2.6.23.8. That one has a known bug that has somehow
escaped being stomped with a new commit, since it only manifests if you
stack one stacking block device on top of another one. I will post here
when we have an official, torture tested version of the patch.

The patch above is improved from the most recently posted version by
using using the ->bi_max_vecs field for throttle accounting instead of
calling out to a per-driver metric. This works nicely because the
max_vecs field cannot change during the life of the bio, and it gives
a decent upper bound on the resource consumption of the bio, better
than simply counting bios in flight. The queue->metric() method is
still in there as a stub, some more cleanup to do there (and further
shrinking of the patch). It does no harm.

This improvement shrinks the throttled version of struct bio by 4
bytes.

Regards,

Daniel


\
 
 \ /
  Last update: 2008-03-20 01:17    [from the cache]
©2003-2011 Jasper Spaans