From: "Komal Shah" <komal.shah802003@gmail.com>
To: "Paul Jackson" <pj@sgi.com>
Cc: "Paul Mundt" <lethal@linux-sh.org>,
"M. R. Brown" <mrbrown@0xd6.org>,
linux-kernel@vger.kernel.org, akpm@osdl.org
Subject: Re: bitmap_find_free_region and bitmap_full arg doubts
Date: Fri, 1 Dec 2006 10:40:27 +0200 [thread overview]
Message-ID: <3a5b1be00612010040r5ee24696h71119adb0a9bbffe@mail.gmail.com> (raw)
In-Reply-To: <20061130161008.5417c8b4.pj@sgi.com>
On 12/1/06, Paul Jackson <pj@sgi.com> wrote:
>
> M. R. Brown and Paul Mundt -- take a look at the question at end of this post.
>
> Komal wrote:
> >
> > I have attached the test module code. I have confusion about the what
> > to pass as second argument of bitmap_find_free_region for 2nd layer
> > bitmap.
> >
> > Do we have to pass "total size of the block...here 128MB" as the
> > second argument or no. of bits in that block, which 32768 (128 >>
> > PAGE_SHIFT) ?
> >
> > This confusion arised as store queue implementation (sq.c) of sh arch,
> > passes total size of the bitmap (64M) as the second argument instead
> > of bits.
> >
> > Same is the case with bitmap_full, where I have to pass total size of
> > the block (here 128MB) instead of no. of bits, in-order it to make my
> > test module work correctly.
>
> A bitmap is essentially an array of bits. The bitmap_* routines should
> take a count of how many bits are in the bitmap array (or in your case,
> how many bits are in the segment that you expect to be used in that call.)
>
> So I'm guessing you will be passing L2_BM_BITS for that second argument.
>
> The call to bitmap_find_free_region(), in arch/sh/kernel/cpu/sh4/sq.c
> looks bogus:
>
> page = bitmap_find_free_region(sq_bitmap, 0x04000000,
> get_order(map->size));
>
> It says the bitmap has 0x04000000 bits. This would take 0x04000000 / 8
> which is 8388608 (decimal) bytes to hold. That's an insanely
> huge bitmap - 8 million bytes worth of bits.
>
> I can't make entire sense of the the code you attached. I get confused
> over the various sizes of maps and what the maps represent, and of bits
> and bytes, and of the two levels.
>
Thanx for clarifying. I am now able to understand it properly, and I
will modify my code, so that it will be easy to understand/read :)
--
---Komal Shah
http://komalshah.blogspot.com
next prev parent reply other threads:[~2006-12-01 8:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-30 15:33 Komal Shah
2006-12-01 0:10 ` Paul Jackson
2006-12-01 0:42 ` bitmap?_find_free_region " Paul Mundt
2006-12-01 1:01 ` Paul Jackson
2006-12-01 8:40 ` Komal Shah [this message]
2006-12-01 9:54 ` bitmap_find_free_region " Komal Shah
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=3a5b1be00612010040r5ee24696h71119adb0a9bbffe@mail.gmail.com \
--to=komal.shah802003@gmail.com \
--cc=akpm@osdl.org \
--cc=lethal@linux-sh.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mrbrown@0xd6.org \
--cc=pj@sgi.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®