All of lore.kernel.org
 help / color / mirror / Atom feed
* Bitmap alignment issues....
@ 2005-02-09 17:59 Tom Evans
  2005-02-09 18:19 ` Alex Zarochentsev
  0 siblings, 1 reply; 8+ messages in thread
From: Tom Evans @ 2005-02-09 17:59 UTC (permalink / raw)
  To: reiserfs-list


Hi All -

I am new to the list - I have been using Reiser4 on Linux/Alpha
for several months now and like very much what it offers.

(I use a -mm kernel from kernel.org with a Debian distro)

Recently I became aware or a large number or alignment fixups
occurring in the kernel, specifically in the reiser4 code.

(My machine(s) would occasionally slow to a crawl when doing
 intense disk i/o - I thought it was because I had recently
 started using IDE drives in my systems (the IDE controllers
 on these boards are notoriously slow) ).

I determined that 50k+ alignment faults were happening
per second - I traced the majority down to these 3 functions:

1) reiser4_find_next_set_bit  (in fs/reiser4/plugins/space/bitmap.c)
2) find_next_zero_bit (in asm/bitops.h)
3) replace_extent (in fs/reiser4/plugins/item/extent.c)

The first 2 accounted for ~4million faults during boot - essentially,
the base address of the bit array is not aligned properly
for ulong accesses on Alpha (which are 64bit).

I worked around this by using "get_unaligned()" for the array
accesses in #1 and implemented a version of "find_next_zero_bit"
local to reiser4 that handles unaligned base addresses (no need
for all other users of the function to suffer the same performance hit).

Those 2 changes brought the number of alignment fixups to 0 on a boot - 
the #3 issue accounts for a very small number of fixups - I have not
yet found the exact location.

While these changes eliminated the faults, they are not optimal,
get_unaligned() adds many cycles over a standard load.

I wanted to see if anyone here was already familiar with this issue and
what the process would be for getting it addressed.

Thanks for your patience!

...tom


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

end of thread, other threads:[~2005-02-16  4:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-09 17:59 Bitmap alignment issues Tom Evans
2005-02-09 18:19 ` Alex Zarochentsev
2005-02-10  5:10   ` Thomas Evans
2005-02-10  8:40     ` Alex Zarochentsev
2005-02-10 15:29       ` Tom Evans
2005-02-15 18:30         ` Alex Zarochentsev
2005-02-15 21:37           ` Tom Evans
2005-02-16  4:55             ` Alex Zarochentsev

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.