All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Franke <Christian.Franke@t-online.de>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: Endianness macros capitalization
Date: Fri, 11 Jul 2008 15:21:11 +0200	[thread overview]
Message-ID: <48775E47.8010307@t-online.de> (raw)
In-Reply-To: <20080711050758.mg9lg38ioksocosw-cebfxv@webmail.spamcop.net>

[-- Attachment #1: Type: text/plain, Size: 738 bytes --]

Pavel Roskin wrote:
> Quoting Pavel Roskin <proski@gnu.org>:
>
>> 366976  original
>> 364988  "=q", xchgb
>> 365460  "=q", rolw $8,%w0
>> 365420  "=r", rolw $8,%w0
>> 364996  monstrosity ("=r", conditional xchgb/rolw)
>> 364728  "little details"
>
> Marginally better (by just 12 bytes):
> 364716  "little details" + "monstrosity"
>

Very nice optimization idea!

The practical advantage is probably limited by the fact that kernel.img 
and most of the modules typically included in a i386-pc core.img are not 
affected.

I attached a diff of "size *.mod" outputs for the test mentioned in my 
last mail. '-' original code, '+' grub_swap_*() replaced by dummies. 
Large savings potential is in afs.mod, hfs*.mod, and xfs.mod.

Christian


[-- Attachment #2: sizediff.txt --]
[-- Type: text/plain, Size: 4751 bytes --]

--- sizes.original	2008-07-10 20:33:57.968750000 +0200
+++ sizes.noswap	2008-07-10 20:34:03.046875000 +0200
@@ -1,78 +1,78 @@
    text	   data	    bss	    dec	    hex	filename
    4352	     24	    160	   4536	   11b8	_bsd.mod
     564	      8	     48	    620	    26c	_chain.mod
    2128	      8	     48	   2184	    888	_linux.mod
    6528	     48	    128	   6704	   1a30	_multiboot.mod
     820	     28	      0	    848	    350	acorn.mod
-   2552	     44	     16	   2612	    a34	affs.mod
-   5532	     40	     16	   5588	   15d4	afs.mod
-    960	     28	     16	   1004	    3ec	amiga.mod
+   2136	     44	     16	   2196	    894	affs.mod
+   2656	     40	     16	   2712	    a98	afs.mod
+    692	     28	     16	    736	    2e0	amiga.mod
     212	      8	      0	    220	     dc	aout.mod
-   1000	     28	     16	   1044	    414	apple.mod
-   3028	     36	     16	   3080	    c08	ata.mod
+    888	     28	     16	    932	    3a4	apple.mod
+   2948	     36	     16	   3000	    bb8	ata.mod
    1756	     44	     16	   1816	    718	biosdisk.mod
     876	      8	     16	    900	    384	bitmap.mod
     764	     20	      0	    784	    310	blocklist.mod
     148	     16	      0	    164	     a4	boot.mod
     628	     16	      0	    644	    284	bsd.mod
     424	     16	      0	    440	    1b8	cat.mod
     340	     24	      0	    364	    16c	chain.mod
     684	     16	      0	    700	    2bc	cmp.mod
     396	     20	      0	    416	    1a0	configfile.mod
    1228	     36	     16	   1280	    500	cpio.mod
     332	     16	     16	    364	    16c	cpuid.mod
     620	     16	      0	    636	    27c	echo.mod
    2292	     12	      0	   2304	    900	elf.mod
    2044	     44	     16	   2104	    838	ext2.mod
    2816	     32	     16	   2864	    b30	fat.mod
     832	     32	     16	    880	    370	font.mod
    1208	      8	      0	   1216	    4c0	fshelp.mod
    3480	    132	    224	   3836	    efc	gfxterm.mod
    1032	     32	     16	   1080	    438	gpt.mod
    5808	    488	      0	   6296	   1898	gzio.mod
     284	     16	      0	    300	    12c	halt.mod
     116	     16	      0	    132	     84	hello.mod
     480	     16	      0	    496	    1f0	help.mod
    1220	     20	      0	   1240	    4d8	hexdump.mod
-   4252	     32	     64	   4348	   10fc	hfs.mod
-   4184	     44	     16	   4244	   1094	hfsplus.mod
-   3128	     44	     16	   3188	    c74	iso9660.mod
+   3220	     32	     64	   3316	    cf4	hfs.mod
+   2628	     44	     16	   2688	    a80	hfsplus.mod
+   3108	     44	     16	   3168	    c60	iso9660.mod
    2916	     32	     16	   2964	    b94	jfs.mod
-   3968	     40	      0	   4008	    fa8	jpeg.mod
+   3956	     40	      0	   3996	    f9c	jpeg.mod
     232	     24	      0	    256	    100	linux.mod
    1076	     52	     16	   1144	    478	loopback.mod
    1452	     12	      0	   1464	    5b8	ls.mod
    2244	     20	      0	   2264	    8d8	lspci.mod
    3260	     36	     32	   3328	    d00	lvm.mod
     484	     40	     32	    556	    22c	memdisk.mod
    2512	     36	     16	   2564	    a04	minix.mod
     264	     32	      0	    296	    128	multiboot.mod
   25268	    104	   1936	  27308	   6aac	normal.mod
    5576	     44	     32	   5652	   1614	ntfs.mod
    1880	     20	      0	   1900	    76c	ntfscomp.mod
    1604	     24	     16	   1644	    66c	pc.mod
     188	      4	      0	    192	     c0	pci.mod
     604	     16	      0	    620	    26c	play.mod
-   4144	     24	      0	   4168	   1048	png.mod
+   4108	     24	      0	   4132	   1024	png.mod
    3312	     40	     16	   3368	    d28	raid.mod
     276	     16	      0	    292	    124	read.mod
     108	     16	      0	    124	     7c	reboot.mod
    7308	     48	     16	   7372	   1ccc	reiserfs.mod
    1164	     16	      0	   1180	    49c	search.mod
    2492	    216	     96	   2804	    af4	serial.mod
-   2284	     40	     16	   2340	    924	sfs.mod
+   1836	     40	     16	   1892	    764	sfs.mod
     540	     16	     32	    588	    24c	sleep.mod
-   1056	     24	     16	   1096	    448	sun.mod
+    948	     24	     16	    988	    3dc	sun.mod
     416	     20	      0	    436	    1b4	terminal.mod
    5188	     28	    512	   5728	   1660	terminfo.mod
     264	     16	      0	    280	    118	test.mod
    1468	     24	      0	   1492	    5d4	tga.mod
    2724	     52	     16	   2792	    ae8	udf.mod
    2936	     52	     16	   3004	    bbc	ufs.mod
    8832	    204	   1952	  10988	   2aec	vbe.mod
     624	     20	      0	    644	    284	vbeinfo.mod
    1172	     20	      0	   1192	    4a8	vbetest.mod
    1668	    108	  13584	  15360	   3c00	vga.mod
    1284	      8	     32	   1324	    52c	video.mod
     732	     32	      0	    764	    2fc	videotest.mod
-   4980	     40	     16	   5036	   13ac	xfs.mod
+   2924	     40	     16	   2980	    ba4	xfs.mod

  reply	other threads:[~2008-07-11 13:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-05 13:27 Endianness macros capitalization Javier Martín
2008-07-05 21:30 ` Pavel Roskin
2008-07-05 22:54   ` Javier Martín
2008-07-05 23:14     ` Pavel Roskin
2008-07-06 18:30     ` Robert Millan
2008-07-06 20:02       ` Javier Martín
2008-07-07 19:25         ` Christian Franke
2008-07-08 18:04           ` Christian Franke
2008-07-09  6:47             ` Pavel Roskin
2008-07-09 12:50               ` Christian Franke
2008-07-09 17:57                 ` Pavel Roskin
2008-07-10 19:25                   ` Christian Franke
2008-07-10 19:59                     ` Pavel Roskin
2008-07-11  7:06                       ` Jordi Mallach
2008-07-11  8:53                     ` Pavel Roskin
2008-07-11  9:07                       ` Pavel Roskin
2008-07-11 13:21                         ` Christian Franke [this message]
2008-07-11 18:33                           ` Pavel Roskin
2008-07-20 13:45                 ` Christian Franke
2008-07-20 23:31                   ` Pavel Roskin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48775E47.8010307@t-online.de \
    --to=christian.franke@t-online.de \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.