public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
[parent not found: <BFECAF9E178F144FAEF2BF4CE739C66801960A13@exmail1.se.axis.com>]
* 2.6.9 PageAnon bug
@ 2004-10-20 14:13 Mikael Starvik
  2004-10-20 15:01 ` Hugh Dickins
  0 siblings, 1 reply; 6+ messages in thread
From: Mikael Starvik @ 2004-10-20 14:13 UTC (permalink / raw)
  To: hugh, linux-kernel; +Cc: Mikael Starvik

There is at least one architecture supported by 2.6.9 that has no alignment
restrictions what so ever and no struct padding added by the compiler. 

The patch named "rmaplock: PageAnon in mapping" in 2.6.9 doesn't work for
this architecture because it assumes that the address of a member in a
struct can't be odd. 

One possible but ugly patch below. Another possible patch would be to move
i_data above i_bytes and i_sock. I would really like a cleaner patch but I
guess its a bad idea to add a new field to struct page?

Index: fs.h
===================================================================
RCS file: /usr/local/cvs/linux/os/lx25/include/linux/fs.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -r1.20 -r1.21
449c449,453
< 	struct address_space	i_data;
---
> 	/* The LSB in i_data below is used for the PAGE_MAPPING_ANON flag. 
> 	 * This assumes that the address of this member isn't odd which
> 	 * is not true for all architectures. Force the compiler to align
it.
> 	 */
> 	struct address_space	i_data __attribute__ ((aligned(4)));

Anyone who knows about similar usage of bit 0 and/or 1 in pointers
anywhere?

/Mikael 

PS. The architecture I'm referring to is CRIS but there may be more with the
same sloppyness regarding alignment. DS


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-10-20 19:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <BFECAF9E178F144FAEF2BF4CE739C66818F59A@exmail1.se.axis.com.suse.lists.linux.kernel>
     [not found] ` <Pine.LNX.4.44.0410201542140.9192-100000@localhost.localdomain.suse.lists.linux.kernel>
2004-10-20 19:27   ` 2.6.9 PageAnon bug Andi Kleen
2004-10-20 19:54     ` Hugh Dickins
     [not found] <BFECAF9E178F144FAEF2BF4CE739C66801960A13@exmail1.se.axis.com>
2004-10-20 15:21 ` Mikael Starvik
2004-10-20 18:15   ` Hugh Dickins
2004-10-20 14:13 Mikael Starvik
2004-10-20 15:01 ` Hugh Dickins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox