Patchwork libata: reorder ata_queued_cmd to remove alignment padding on 64 bit builds

login
register
mail settings
Submitter Richard Kennedy
Date Sept. 10, 2010, 11:19 a.m.
Message ID <1284117583.1903.8.camel@castor.rsk>
Download mbox | patch
Permalink /patch/64380/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Richard Kennedy - Sept. 10, 2010, 11:19 a.m.
Reorder structure ata_queued_cmd to remove 8 bytes of alignment padding
on 64 bit builds & therefore reduce the size of structure ata_port by
256 bytes.
    
Overall this will have little impact, other than reducing the amount of
memory that is cleared when allocating ata_ports.
    
Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
----
patch against 2.6.36-rc3
compiled & tested on x86_64

I've been running this patch for a couple of weeks with no apparent
issues.

regards
Richard





--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Richard Kennedy - Sept. 12, 2010, 11:21 a.m.
On Fri, 2010-09-10 at 15:22 +0100, Hugo Antunes wrote:
> Greetings,
> 
> Following the list this pasts days, building a big machine with 45
> sata2 disks (WD green 1.5TB), Sil3124 4 ports sata2 with 9 port
> multipliers with 5 each also from Silicom image.
> 
> This machine should smoke but it doesn't, attached is the dmesg dump where it is possible to see the enourmous ammount
>  of hard and soft resets.Using Ubuntu/server 10.4 2.6.32-25-server x86_64, been questioning if this patch could 
> make me have better numbers from this system, going to build a debian/ubuntu kernel image with the patch, if anyone 
> has a link for a deb image with this patch..apreciated.
> 
> Keep the good work
> 
> Regards,
> ./hantunes
Hi,
I think it's very unlikely that my patch will have any impact on your
problem, it is only a very minor improvement when creating new ports.

I didn't get the dmesg attachment so I can't tell what sort of problems
you are having, but with that many drives I'd start by checking the
power supplies & cables and then try the latest kernel. 

regards
Richard



--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jeff Garzik - Sept. 17, 2010, 6:13 a.m.
On 09/10/2010 07:19 AM, Richard Kennedy wrote:
> Reorder structure ata_queued_cmd to remove 8 bytes of alignment padding
> on 64 bit builds&  therefore reduce the size of structure ata_port by
> 256 bytes.
>
> Overall this will have little impact, other than reducing the amount of
> memory that is cleared when allocating ata_ports.
>
> Signed-off-by: Richard Kennedy<richard@rsk.demon.co.uk>
> ----
> patch against 2.6.36-rc3
> compiled&  tested on x86_64
>
> I've been running this patch for a couple of weeks with no apparent
> issues.
>
> regards

applied


--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/linux/libata.h b/include/linux/libata.h
index f010f18..e115380 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -559,13 +559,13 @@  struct ata_queued_cmd {
 	unsigned int		extrabytes;
 	unsigned int		curbytes;
 
-	struct scatterlist	*cursg;
-	unsigned int		cursg_ofs;
-
 	struct scatterlist	sgent;
 
 	struct scatterlist	*sg;
 
+	struct scatterlist	*cursg;
+	unsigned int		cursg_ofs;
+
 	unsigned int		err_mask;
 	struct ata_taskfile	result_tf;
 	ata_qc_cb_t		complete_fn;