lkml.org 
[lkml]   [2008]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 2.6.24-rc6-mm1
    On Wed, 09 Jan 2008 08:57:53 +0900
    FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:

    > Andrew, can you replace
    >
    > iommu-sg-add-iommu-helper-functions-for-the-free-area-management.patch
    >
    > with the updated patch:
    >
    > http://ozlabs.org/pipermail/linuxppc-dev/2007-December/048997.html
    >
    > For your convenience I've attached the updated patch too.

    <generates the incremental>


    > --- a/lib/iommu-helper.c~a
    > +++ a/lib/iommu-helper.c
    > @@ -8,15 +8,20 @@
    > static unsigned long find_next_zero_area(unsigned long *map,
    > unsigned long size,
    > unsigned long start,
    > - unsigned int nr)
    > + unsigned int nr,
    > + unsigned long align_mask)
    > {
    > unsigned long index, end, i;
    > again:
    > index = find_next_zero_bit(map, size, start);
    > +
    > + /* Align allocation */
    > + index = (index + align_mask) & ~align_mask;

    The ALIGN() macro is the approved way of doing this.

    (I don't think ALIGN adds much value really, especially given that you've
    commented what's going on, but I guess it does make reviewing and reading a
    little easier).


    > end = index + nr;
    > - if (end > size)
    > + if (end >= size)
    > return -1;
    > - for (i = index + 1; i < end; i++) {
    > + for (i = index; i < end; i++) {
    > if (test_bit(i, map)) {
    > start = i+1;
    > goto again;
    > @@ -50,9 +55,8 @@ unsigned long iommu_area_alloc(unsigned
    > {
    > unsigned long index;
    > again:
    > - index = find_next_zero_area(map, size, start, nr);
    > + index = find_next_zero_area(map, size, start, nr, align_mask);
    > if (index != -1) {
    > - index = (index + align_mask) & ~align_mask;
    > if (is_span_boundary(index, nr, shift, boundary_size)) {
    > /* we could do more effectively */
    > start = index + 1;
    > _
    >
    >


    \
     
     \ /
      Last update: 2008-01-09 01:31    [W:0.028 / U:31.320 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site