[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFyJrw5jOjMz5q1upL9TiSRN5CLcHZgo6DTRNyiUytta4w@mail.gmail.com>
Date: Mon, 25 Jul 2011 16:46:03 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: "Nicholas A. Bellinger" <nab@...ux-iscsi.org>,
target-devel <target-devel@...r.kernel.org>,
linux-scsi <linux-scsi@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Christoph Hellwig <hch@....de>,
Andy Grover <agrover@...hat.com>,
Hannes Reinecke <hare@...e.de>,
Roland Dreier <roland@...estorage.com>,
James Bottomley <James.Bottomley@...senpartnership.com>,
Boaz Harrosh <openosd@...il.com>,
Mike Christie <michaelc@...wisc.edu>
Subject: Re: [GIT PULL] iscsi-target merge for v3.1-rc1
On Mon, Jul 25, 2011 at 4:37 PM, Andrew Morton
<akpm@...ux-foundation.org> wrote:
> On Sat, 23 Jul 2011 16:16:15 -0700
> "Nicholas A. Bellinger" <nab@...ux-iscsi.org> wrote:
>
>> Please go ahead and pull from:
>>
>> master.kernel.org:/pub/scm/linux/kernel/git/nab/target-pending.git for-linus-merge
>
> i386 allyesconfig:
>
> ERROR: "__udivdi3" [drivers/target/target_core_mod.ko] undefined!
>
> somewhere in drivers/target/target_core_transport.c:transport_allocate_data_tasks().
.. looks like somebody isn't doing a "sector_div()" for a sector_t.
Nicholas: full 64-bit divides are dog slow on most 32-bit targets, and
gcc is very iffy at doing a 64/32->32 divide (or even a 64/32->64 one,
which is still much faster than the full 64/64->64 one). So we very
much on purpose don't allow for __udivdi3 (which is gcc-speak for that
out-of-line "64/64->64" operation), so it generates link-time errors.
Note the odd semantics for sector_div():
sector_div(a,b)
basically does a "a = a/b" (and then returns the remainder, but nobody
uses it and maybe we should skip that part).
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists