From: FUJITA Tomonori <tomof@acm.org>
To: just.for.lkml@googlemail.com
Cc: tomof@acm.org, akpm@linux-foundation.org, jarkao2@gmail.com,
herbert@gondor.apana.org.au, linux-kernel@vger.kernel.org,
neilb@suse.de, bfields@fieldses.org, netdev@vger.kernel.org,
tom@opengridcomputing.com, fujita.tomonori@lab.ntt.co.jp
Cc: fujita.tomonori@lab.ntt.co.jp
Subject: Re: 2.6.24-rc6-mm1
Date: Sun, 6 Jan 2008 20:23:14 +0900 [thread overview]
Message-ID: <20080106202616Z.tomof@acm.org> (raw)
In-Reply-To: <64bb37e0801060241o2c6d8172r73b69291fce76ce1@mail.gmail.com>
On Sun, 6 Jan 2008 11:41:10 +0100
"Torsten Kaiser" <just.for.lkml@googlemail.com> wrote:
> On Jan 6, 2008 4:28 AM, FUJITA Tomonori <tomof@acm.org> wrote:
> > On Sat, 5 Jan 2008 17:25:24 -0800
> > Andrew Morton <akpm@linux-foundation.org> wrote:
> > > On Sat, 5 Jan 2008 23:10:17 +0100 "Torsten Kaiser" <just.for.lkml@googlemail.com> wrote:
> > > > But the cause of my mail is the following question:
> > > > Regarding my "iommu-sg-merging-patches are new in -rc3-mm and could be
> > > > the cause"-suspicion I looked at these patches and came across these
> > > > hunks:
> > > >
> > > > This is removed from arch/x86/lib/bitstr_64.c:
> > > > -/* Find string of zero bits in a bitmap */
> > > > -unsigned long
> > > > -find_next_zero_string(unsigned long *bitmap, long start, long nbits, int len)
> > > > -{
> > > > - unsigned long n, end, i;
> > > > -
> > > > - again:
> > > > - n = find_next_zero_bit(bitmap, nbits, start);
> > > > - if (n == -1)
> > > > - return -1;
> > > > -
> > > > - /* could test bitsliced, but it's hardly worth it */
> > > > - end = n+len;
> > > > - if (end > nbits)
> > > > - return -1;
> > > > - for (i = n+1; i < end; i++) {
> > > > - if (test_bit(i, bitmap)) {
> > > > - start = i+1;
> > > > - goto again;
> > > > - }
> > > > - }
> > > > - return n;
> > > > -}
> > > >
> > > > This is added to lib/iommu-helper.c:
> > > > +static unsigned long find_next_zero_area(unsigned long *map,
> > > > + unsigned long size,
> > > > + unsigned long start,
> > > > + unsigned int nr)
> > > > +{
> > > > + unsigned long index, end, i;
> > > > +again:
> > > > + index = find_next_zero_bit(map, size, start);
> > > > + end = index + nr;
> > > > + if (end > size)
> > > > + return -1;
> > > > + for (i = index + 1; i < end; i++) {
> > > > + if (test_bit(i, map)) {
> > > > + start = i+1;
> > > > + goto again;
> > > > + }
> > > > + }
> > > > + return index;
> > > > +}
> > > >
> > > > The old version checks, if find_next_zero_bit returns -1, the new
> > > > version doesn't do this.
> > > > Is this intended and can find_next_zero_bit never fail?
> > > > Hmm... but in the worst case it should only loop forever if I'm
> > > > reading this right (index = -1 => for-loop counts from 0 to nr, if any
> > > > bit is set it will jump to "again:" and if the next call to
> > > > find_next_zero_bit also fails, its an endless loop)
> >
> > find_next_zero_bit returns -1?
> >
> > It seems that x86_64 doesn't.
>
> I'm sorry. I didn't look into find_next_zero_bit, I only noted that
> the old version did check for -1 and the new one didn't.
> Obviously the old check was superfluous.
>
> > POWER and SPARC64 IOMMUs use
> > find_next_zero_bit too but both doesn't check if find_next_zero_bit
> > returns -1. If find_next_zero_bit fails, it returns size. So it
> > doesn't leads to an endless loop.
>
> Yes, this can't happen. It was a wrong assumption on my part.
>
> > But this patch has other bugs that break POWER IOMMUs.
> >
> > If you use the IOMMUs on POWER, please try the following patch:
>
> I'm using CONFIG_GART_IOMMU=y on x86_64.
>
> > http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg12702.html
>
> I also noted the line "index = (index + align_mask) & ~align_mask;" in
> iommu_area_alloc() and didn't understand what this was trying to do
> and how this should work, but as arch/x86/kernel/pci-gart_64.c always
> uses 0 as align_mask I just ignored it.
Yeah, it's for only POWER IOMMUs. It's meaningless for gart and
calgary IOMMUs.
> I will applie your patch and see if this hunk from
> find_next_zero_area() makes a difference:
>
> 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)) {
The patch should not make a difference for X86_64.
Can you try the patch to revert my IOMMU changes?
http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg12694.html
next prev parent reply other threads:[~2008-01-06 11:23 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-23 7:30 2.6.24-rc6-mm1 Andrew Morton
2007-12-23 11:04 ` 2.6.24-rc6-mm1 Ingo Molnar
2007-12-23 11:10 ` 2.6.24-rc6-mm1 Ingo Molnar
2007-12-23 11:34 ` 2.6.24-rc6-mm1 Andrew Morton
2007-12-23 11:57 ` 2.6.24-rc6-mm1 Ingo Molnar
2007-12-23 12:12 ` 2.6.24-rc6-mm1 Christoph Hellwig
2007-12-23 12:35 ` 2.6.24-rc6-mm1 Rafael J. Wysocki
2007-12-23 13:00 ` 2.6.24-rc6-mm1 Ingo Molnar
2007-12-23 13:48 ` 2.6.24-rc6-mm1 Rafael J. Wysocki
2007-12-23 13:53 ` 2.6.24-rc6-mm1 Rafael J. Wysocki
2007-12-23 20:09 ` 2.6.24-rc6-mm1 Sam Ravnborg
2007-12-23 22:44 ` 2.6.24-rc6-mm1 Rafael J. Wysocki
2008-01-02 20:05 ` [patch] x86 compat_binfmt_elf, Makefile fixes (was: Re: 2.6.24-rc6-mm1) Ingo Molnar
2008-01-02 20:32 ` Rafael J. Wysocki
2008-01-02 20:43 ` Ingo Molnar
2007-12-23 23:09 ` 2.6.24-rc6-mm1 H. Peter Anvin
2007-12-23 16:27 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-23 20:39 ` 2.6.24-rc6-mm1 Andrew Morton
2007-12-27 11:42 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-27 14:30 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-28 22:53 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-28 23:07 ` 2.6.24-rc6-mm1 Andrew Morton
2007-12-29 16:51 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-30 1:30 ` 2.6.24-rc6-mm1 Herbert Xu
2007-12-30 3:34 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-30 5:41 ` 2.6.24-rc6-mm1 Randy Dunlap
2007-12-31 20:15 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-01 12:04 ` 2.6.24-rc6-mm1 Herbert Xu
2008-01-01 12:59 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-01 18:29 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-02 18:29 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-02 21:51 ` 2.6.24-rc6-mm1 Herbert Xu
2008-01-02 21:57 ` 2.6.24-rc6-mm1 J. Bruce Fields
2008-01-03 5:02 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-03 15:37 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-03 18:52 ` 2.6.24-rc6-mm1 J. Bruce Fields
2008-01-04 10:23 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-04 13:30 ` 2.6.24-rc6-mm1 Jarek Poplawski
2008-01-04 15:21 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-04 21:24 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-05 0:07 ` 2.6.24-rc6-mm1 Jarek Poplawski
2008-01-05 8:01 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-05 10:13 ` 2.6.24-rc6-mm1 Jarek Poplawski
2008-01-05 14:52 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-05 22:10 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-06 1:25 ` 2.6.24-rc6-mm1 Andrew Morton
2008-01-06 3:28 ` 2.6.24-rc6-mm1 FUJITA Tomonori
2008-01-06 10:41 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-06 11:23 ` FUJITA Tomonori [this message]
2008-01-06 11:35 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-06 13:33 ` 2.6.24-rc6-mm1 FUJITA Tomonori
2008-01-06 20:03 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-07 6:16 ` 2.6.24-rc6-mm1 FUJITA Tomonori
2008-01-08 15:59 ` 2.6.24-rc6-mm1 Ingo Molnar
2008-01-08 23:57 ` 2.6.24-rc6-mm1 FUJITA Tomonori
2008-01-09 0:27 ` 2.6.24-rc6-mm1 Andrew Morton
2008-01-09 0:54 ` 2.6.24-rc6-mm1 FUJITA Tomonori
2008-01-09 1:07 ` 2.6.24-rc6-mm1 Andrew Morton
2008-01-09 9:04 ` 2.6.24-rc6-mm1 Jarek Poplawski
2008-01-10 0:54 ` 2.6.24-rc6-mm1 FUJITA Tomonori
2008-01-25 21:06 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-06 3:16 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-06 8:27 ` 2.6.24-rc6-mm1 Jarek Poplawski
2008-01-06 10:30 ` 2.6.24-rc6-mm1 Torsten Kaiser
2008-01-06 14:52 ` 2.6.24-rc6-mm1 Jarek Poplawski
2007-12-30 21:24 ` 2.6.24-rc6-mm1 J. Bruce Fields
2007-12-30 21:35 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-31 13:17 ` 2.6.24-rc6-mm1 Torsten Kaiser
2007-12-23 22:54 ` 2.6.24-rc6-mm1: suspend broken on HP nx6325 due to cpufreq changes Rafael J. Wysocki
2007-12-23 22:50 ` Andrew Morton
2007-12-23 22:56 ` Dave Jones
2007-12-24 11:21 ` Takashi Iwai
2007-12-24 14:13 ` Rafael J. Wysocki
2007-12-25 21:51 ` 2.6.24-rc6-mm1 Andreas Mohr
2007-12-26 5:43 ` 2.6.24-rc6-mm1 - git-lblnet.patch and networking horkage Valdis.Kletnieks
2007-12-26 7:34 ` James Morris
2007-12-26 8:25 ` Valdis.Kletnieks
2007-12-26 8:52 ` James Morris
2007-12-26 14:16 ` James Morris
2007-12-26 22:46 ` Andrew Morton
2007-12-26 23:39 ` 2.6.24-rc6-mm1 - e1000 breakage James Morris
2007-12-26 16:44 ` 2.6.24-rc6-mm1 - git-lblnet.patch and networking horkage Valdis.Kletnieks
2007-12-26 8:37 ` 2.6.24-rc6-mm1 Dave Young
2007-12-26 12:29 ` 2.6.24-rc6-mm1: some section mismatches on sparc64 Mariusz Kozlowski
2007-12-27 3:05 ` David Miller
2007-12-28 23:22 ` Adrian Bunk
2007-12-29 8:14 ` David Miller
2007-12-29 8:27 ` David Miller
2007-12-29 8:48 ` Adrian Bunk
2007-12-29 8:54 ` David Miller
2007-12-29 9:06 ` Adrian Bunk
2007-12-29 9:18 ` David Miller
2007-12-29 9:53 ` Adrian Bunk
2007-12-29 9:15 ` David Miller
2007-12-27 2:21 ` 2.6.24-rc6-mm1: __raw_spin_is_contended undefined Joseph Fannin
2007-12-27 5:21 ` Nick Piggin
2007-12-27 6:04 ` 2.6.24-rc6-mm1 - drivers/char/tpm/tpm_bios.c oddness? Valdis.Kletnieks
2007-12-27 8:49 ` 2.6.24-rc6-mm1 Kernel panics at different functions () Kamalesh Babulal
2007-12-27 9:54 ` Andrew Morton
2007-12-27 10:25 ` Kamalesh Babulal
2007-12-28 9:11 ` Kamalesh Babulal
2007-12-28 13:03 ` Dhaval Giani
2007-12-27 9:16 ` 2.6.24-rc6-mm1 - power_supply driver dmesg weirdness? Valdis.Kletnieks
2007-12-27 17:54 ` 2.6.24-rc6-mm1 - crash in tick_sched_timer/update_process_times Valdis.Kletnieks
2007-12-28 7:34 ` Andrew Morton
2007-12-29 16:02 ` Valdis.Kletnieks
2007-12-31 18:05 ` [PATCH -mm] crypto: scatterwalk.h needs sched.h Randy Dunlap
2007-12-31 22:31 ` Herbert Xu
2007-12-31 18:05 ` [PATCH -mm] driver core: build with SYSFS=n Randy Dunlap
2007-12-31 18:18 ` 2.6.24-rc6-mm1 (build problem: v4l / i2c) Randy Dunlap
2007-12-31 19:01 ` [v4l-dvb-maintainer] " Michael Krufky
2007-12-31 19:08 ` Michael Krufky
2007-12-31 18:18 ` 2.6.24-rc6-mm1 (build problem: gpio_keys) Randy Dunlap
2007-12-31 18:40 ` David Brownell
2007-12-31 19:10 ` [PATCH -mm] gpio: fix x86 build problem: gpio_keys Randy Dunlap
2008-01-01 15:32 ` Ingo Molnar
2007-12-31 18:19 ` 2.6.24-rc6-mm1 (build problem: gpio/W1) Randy Dunlap
2008-01-05 15:29 ` Evgeniy Polyakov
2008-01-05 16:16 ` Ville Syrjälä
2008-01-05 17:18 ` Randy Dunlap
2007-12-31 20:11 ` 2.6.24-rc6-mm1 (driver core/sysfs) Randy Dunlap
2008-01-12 1:05 ` Greg KH
2008-01-14 16:11 ` [patch] auto-qa Kconfig Ingo Molnar
2008-01-15 22:13 ` Pavel Machek
2008-01-06 10:03 ` 2.6.24-rc6-mm1: sparc64: undefined reference to `vmemmap_table' Mariusz Kozlowski
2008-01-06 10:15 ` Andrew Morton
2008-01-07 1:18 ` David Miller
2008-01-07 13:50 ` [PATCH -mm/x86] revert i386: handle an initrd in highmem (Was Re: 2.6.24-rc6-mm1) Dhaval Giani
2008-01-07 13:53 ` Thomas Gleixner
2008-01-07 14:56 ` Ingo Molnar
2008-01-07 15:19 ` Dhaval Giani
2008-01-07 16:22 ` Randy Dunlap
2008-01-07 16:32 ` Dhaval Giani
2008-01-07 16:50 ` Thomas Gleixner
2008-01-07 22:15 ` Randy Dunlap
[not found] <9DtBq-2jD-3@gated-at.bofh.it>
[not found] ` <476EAF98.6040004@yahoo.fr>
[not found] ` <20071223121410.0d572e03.akpm@linux-foundation.org>
2007-12-24 1:25 ` 2.6.24-rc6-mm1 Herbert Xu
2007-12-30 13:10 ` 2.6.24-rc6-mm1 Ingo Molnar
2008-01-02 10:31 ` 2.6.24-rc6-mm1 Nick Piggin
2008-01-02 11:01 ` 2.6.24-rc6-mm1 Peter Zijlstra
2008-01-02 11:12 ` 2.6.24-rc6-mm1 Nick Piggin
2008-01-02 11:24 ` 2.6.24-rc6-mm1 Peter Zijlstra
2008-01-02 12:19 ` 2.6.24-rc6-mm1 Ingo Molnar
2008-01-02 13:26 ` 2.6.24-rc6-mm1 Alan Cox
2008-01-02 16:18 ` 2.6.24-rc6-mm1 Ingo Molnar
2008-01-02 22:49 ` 2.6.24-rc6-mm1 Alan Cox
2008-01-02 11:08 ` 2.6.24-rc6-mm1 Ingo Molnar
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=20080106202616Z.tomof@acm.org \
--to=tomof@acm.org \
--cc=akpm@linux-foundation.org \
--cc=bfields@fieldses.org \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=herbert@gondor.apana.org.au \
--cc=jarkao2@gmail.com \
--cc=just.for.lkml@googlemail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=netdev@vger.kernel.org \
--cc=tom@opengridcomputing.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
Powered by JetHome