fix leak with bounced bio's
Subsystems (2)
PATCH 1/1 fix leak with bounced bio's
Hi,
This might fix the last leak of memory reported with cd writing, the current highmem bounce code will leak n-1 pages for any n page bio where n > 1. CD writing typically uses 16 pages bios, so it is affected.
===== mm/highmem.c 1.51 vs edited =====
mm/highmem.c +2 -2
@@ -284,7 +284,7 @@struct bio_vec *tovec, *fromvec;int i; -bio_for_each_segment (tovec, to, i) { +__bio_for_each_segment (tovec, to, i,0 ) { fromvec = from->bi_io_vec + i;/*
@@ -316,7 +316,7 @@/* * free up bounce indirect pages used */ -bio_for_each_segment (bvec, bio, i) { +__bio_for_each_segment (bvec, bio, i,0 ) { org_vec = bio_orig->bi_io_vec + i;if (bvec->bv_page == org_vec->bv_page)continue ;
Signature · 1 line
Jens Axboe
Quoted 5 lines · Jens Axboe
Hi,
This might fix the last leak of memory reported with cd writing, the current highmem bounce code will leak n-1 pages for any n page bio where n > 1. CD writing typically uses 16 pages bios, so it is affected.
it fixes the leak for us that I described a while back
http://marc.theaimsgroup.com/?l=linux-kernel&m=109360958318479&w=2
Great :-))
cu,
Frank
Signature · 4 lines
Dipl.-Inform. Frank Steiner Web: http://www.bio.ifi.lmu.de/~steiner/ Lehrstuhl f. Bioinformatik Mail: http://www.bio.ifi.lmu.de/~steiner/m/ LMU, Amalienstr. 17 Phone: +49 89 2180-4049 80333 Muenchen, Germany Fax: +49 89 2180-99-4049
Quoted 8 lines · Frank Steiner
Quoted 5 lines · Jens Axboe
Hi,
This might fix the last leak of memory reported with cd writing, the current highmem bounce code will leak n-1 pages for any n page bio where n > 1. CD writing typically uses 16 pages bios, so it is affected.
Quoted 4 lines
it fixes the leak for us that I described a while back
http://marc.theaimsgroup.com/?l=linux-kernel&m=109360958318479&w=2Great :-))
Great, thanks for confirming!
Maybe we should unconditionally bounce all bios for a while in a test kernel, to make sure that all bouncing bugs are shaken out ;-)
Signature · 1 line
Jens Axboe