George Spelvin | 25 May 09:34 2016
Picon

[PATCH 08/10] m68k: Add <asm/archhash.h>

This provides a multiply by constant GOLDEN_RATIO_32 = 0x61C88647
for the original mc68000, which lacks a 32x32-bit multiply instruction.

Yes, the amount of optimization effort put in is excessive. :-)

Addition chains found by Yevgen Voronenko's Hcub algorithm at
http://spiral.ece.cmu.edu/mcm/gen.html

Signed-off-by: George Spelvin <linux <at> sciencehorizons.net>
Cc: Geert Uytterhoeven <geert <at> linux-m68k.org>
Cc: Greg Ungerer <gerg <at> linux-m68k.org>
Cc: linux-m68k <at> lists.linux-m68k.org
---
 arch/m68k/Kconfig                |  1 +
 arch/m68k/include/asm/archhash.h | 67 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+)
 create mode 100644 arch/m68k/include/asm/archhash.h

diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 498b567f..95197d5e 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
 <at>  <at>  -23,6 +23,7  <at>  <at>  config M68K
 	select MODULES_USE_ELF_RELA
 	select OLD_SIGSUSPEND3
 	select OLD_SIGACTION
+	select HAVE_ARCH_HASH

 config RWSEM_GENERIC_SPINLOCK
 	bool
(Continue reading)

George Spelvin | 25 May 09:33 2016
Picon

[PATCH 07/10] <linux/hash.h>: Add support for architecture-specific functions

This is just the infrastructure; there are no users yet.

This is modelled on CONFIG_ARCH_RANDOM; a CONFIG_ symbol declares
the existence of <asm/archhash.h>.

That file may define its own versions of various functions, and define
HAVE_* symbols (no CONFIG_ prefix!) to suppress the generic ones.

Signed-off-by: George Spelvin <linux <at> sciencehorizons.net>
Cc: Geert Uytterhoeven <geert <at> linux-m68k.org>
Cc: Greg Ungerer <gerg <at> linux-m68k.org>
Cc: linux-m68k <at> lists.linux-m68k.org
Cc: Alistair Francis <alistai <at> xilinx.com>
Cc: Michal Simek <michal.simek <at> xilinx.com>
Cc: Yoshinori Sato <ysato <at> users.sourceforge.jp>
Cc: uclinux-h8-devel <at> lists.sourceforge.jp
---
 arch/Kconfig         |  8 ++++++++
 fs/namei.c           |  6 +++++-
 include/linux/hash.h | 11 +++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 81869a5e..33e8d7b1 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
 <at>  <at>  -589,6 +589,14  <at>  <at>  config HAVE_STACK_VALIDATION
 	  Architecture supports the 'objtool check' host tool command, which
 	  performs compile-time stack metadata validation.

(Continue reading)

George Spelvin | 25 May 09:20 2016
Picon

[PATCH 00/10] String hash improvements

On Tue, 17 May 2016 at 09:32, Linus Torvalds <torvalds <at> linux-foundation.org> wrote:
> On Tue, May 17, 2016 at 6:41 AM, George Spelvin <linux <at> horizon.com> wrote:
>> I had assumed that since they weren't fully baked when the window opened,
>> they weren't eligible, but I'll try.

> Hey, if they aren't ready, they aren't.

Well, they're close, and I can and did *get* them ready.

> How about just the minimal set of patches that you'er happy with as-is?

The things are a bit interdependent.  I can't fix hash_64() on 32-bit systems until
I get rid of hash_string()'s need for it to return 64 bits, which requires work
on the dcache hashes to make them suitable replacements...

The real fun has come from TPTB deciding to sell the horizon.com domain,
and it turns out that updating rDNS takes the ISP a whole freaking week,
during which time outgoing mail trips everyone's spam filters.

That finally got fixed, just in time for me to put my dominant hand through
a piece of glass.  It's been a week. :-(

Anyway, the patches...

This series does several related things:
1) Gets rid of the string hashes in <linux/sunrpc/svcauth.h>,
   and uses the dcache hash (fs/namei.c) instead.
2) Avoid 64-bit multiplies in hash_64() on 32-bit platforms.
   Two 32-bit multiplies will do well enough.
3) Rids the world of the bad hash multipliers in hash_32.
(Continue reading)

Geert Uytterhoeven | 24 May 10:44 2016
Gravatar

BUG: scheduling while atomic: cron/715/0x10cac0c0

Somewhere during this merge window, I started sometimes seeing the below during
shutdown of my Debian/m68k system running under ARAnyM:

BUG: scheduling while atomic: cron/715/0x10cac0c0
Modules linked in:
CPU: 0 PID: 715 Comm: cron Not tainted 4.6.0-atari-09955-g55db2ee398e5862f #338
Stack from 10cac074:
        10cac074 0037ad52 0003d9b4 0036636e 00cd0814 000002cb 10cac0c0 10cac0c0
        002f45ba 00cd05c0 00000000 00000082 00491068 00000000 00000000 002f42a8
        000412c2 00000000 00000000 10cac0e0 002f47a4 00000000 7fffffff 10cac180
        003b5490 00cd05ec 10cac1f0 10cac118 002f63a8 00000000 10cac174 10cac180
        001ab966 008a6400 10cac130 0000021a 003bbba0 0000021a 0000021a 00000002
        efa44d50 10cac128 002f4806 7fffffff 00000082 002f4c8a 002f4c9c 7fffffff
Call Trace: [<0003d9b4>] __schedule_bug+0x40/0x54
 [<002f45ba>] __schedule+0x312/0x388
 [<002f42a8>] __schedule+0x0/0x388
 [<000412c2>] prepare_to_wait+0x0/0x52
 [<002f47a4>] schedule+0x64/0x82
 [<002f63a8>] schedule_timeout+0xda/0x104
 [<001ab966>] __radix_tree_lookup+0x5a/0xa4
 [<002f4806>] io_schedule_timeout+0x36/0x4a
 [<002f4c8a>] bit_wait_io+0x0/0x40
 [<002f4c9c>] bit_wait_io+0x12/0x40
 [<002f493c>] __wait_on_bit+0x46/0x76
 [<0006a252>] wait_on_page_bit_killable+0x64/0x6c
 [<002f4c8a>] bit_wait_io+0x0/0x40
 [<000413e2>] wake_bit_function+0x0/0x4e
 [<0006a3a0>] __lock_page_or_retry+0xde/0x124
 [<0021a000>] scsi_scan_host+0xd6/0x196
 [<00098a82>] lookup_swap_cache+0x1e/0x48
(Continue reading)

Greg Ungerer | 23 May 02:46 2016

[git pull] m68knommu changes

Hi Linus,

Can you please pull the m68knommu git tree, for-next branch.
Only a single change to update my email address in the MAINTAINERS file.

Regards
Greg

The following changes since commit 44549e8f5eea4e0a41b487b63e616cb089922b99:

  Linux 4.6-rc7 (2016-05-08 14:38:32 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git for-next

for you to fetch changes up to 44156affd1844bdfd90cc791cf5fdb6f9a04e238:

  m68k: change m68knommu maintainer email address (2016-05-10 16:59:23 +1000)

----------------------------------------------------------------
Greg Ungerer (1):
      m68k: change m68knommu maintainer email address

 MAINTAINERS | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Andrea Gelmini | 21 May 13:58 2016
Picon
Gravatar

[PATCH 0171/1529] Fix typo

Signed-off-by: Andrea Gelmini <andrea.gelmini <at> gelma.net>
---
 arch/m68k/q40/q40ints.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c
index 513f9bb..51991bc 100644
--- a/arch/m68k/q40/q40ints.c
+++ b/arch/m68k/q40/q40ints.c
 <at>  <at>  -287,7 +287,7  <at>  <at>  static void q40_irq_handler(unsigned int irq, struct pt_regs *fp)
 	}
  iirq:
 	mir = master_inb(IIRQ_REG);
-	/* should test whether keyboard irq is really enabled, doing it in defhand */
+	/* should test whether keyboard irq is really enabled, doing it in defend */
 	if (mir & Q40_IRQ_KEYB_MASK)
 		do_IRQ(Q40_IRQ_KEYBOARD, fp);

--

-- 
2.8.2.534.g1f66975

Andrea Gelmini | 21 May 13:58 2016
Picon
Gravatar

[PATCH 0170/1529] Fix typo

Signed-off-by: Andrea Gelmini <andrea.gelmini <at> gelma.net>
---
 arch/m68k/math-emu/fp_decode.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/math-emu/fp_decode.h b/arch/m68k/math-emu/fp_decode.h
index 759679d..6d1e760 100644
--- a/arch/m68k/math-emu/fp_decode.h
+++ b/arch/m68k/math-emu/fp_decode.h
 <at>  <at>  -130,7 +130,7  <at>  <at>  do_fscc=0
 	bfextu	%d2{#13,#3},%d0
 .endm

-| decode the 8bit diplacement from the brief extension word
+| decode the 8bit displacement from the brief extension word
 .macro	fp_decode_disp8
 	move.b	%d2,%d0
 	ext.w	%d0
--

-- 
2.8.2.534.g1f66975

Andrea Gelmini | 21 May 13:58 2016
Picon
Gravatar

[PATCH 0168/1529] Fix typo

Signed-off-by: Andrea Gelmini <andrea.gelmini <at> gelma.net>
---
 arch/m68k/include/asm/q40_master.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/include/asm/q40_master.h b/arch/m68k/include/asm/q40_master.h
index fc5b362..c48d21b 100644
--- a/arch/m68k/include/asm/q40_master.h
+++ b/arch/m68k/include/asm/q40_master.h
 <at>  <at>  -1,6 +1,6  <at>  <at> 
 /*
  * Q40 master Chip Control
- * RTC stuff merged for compactnes..
+ * RTC stuff merged for compactness.
 */

 #ifndef _Q40_MASTER_H
--

-- 
2.8.2.534.g1f66975

Andrea Gelmini | 21 May 13:58 2016
Picon
Gravatar

[PATCH 0169/1529] Fix typo

Signed-off-by: Andrea Gelmini <andrea.gelmini <at> gelma.net>
---
 arch/m68k/mac/iop.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/mac/iop.c b/arch/m68k/mac/iop.c
index 4d2adfb..7990b6f 100644
--- a/arch/m68k/mac/iop.c
+++ b/arch/m68k/mac/iop.c
 <at>  <at>  -60,7 +60,7  <at>  <at> 
  *
  * The host talks to the IOPs using a rather simple message-passing scheme via
  * a shared memory area in the IOP RAM. Each IOP has seven "channels"; each
- * channel is conneced to a specific software driver on the IOP. For example
+ * channel is connected to a specific software driver on the IOP. For example
  * on the SCC IOP there is one channel for each serial port. Each channel has
  * an incoming and and outgoing message queue with a depth of one.
  *
--

-- 
2.8.2.534.g1f66975

Andrea Gelmini | 21 May 13:58 2016
Picon
Gravatar

[PATCH 0167/1529] Fix typo

Signed-off-by: Andrea Gelmini <andrea.gelmini <at> gelma.net>
---
 arch/m68k/include/asm/mcfmmu.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/include/asm/mcfmmu.h b/arch/m68k/include/asm/mcfmmu.h
index 26cc3d5..8824236 100644
--- a/arch/m68k/include/asm/mcfmmu.h
+++ b/arch/m68k/include/asm/mcfmmu.h
 <at>  <at>  -38,7 +38,7  <at>  <at> 
 /*
  *	MMU Operation register.
  */
-#define	MMUOR_UAA	0x00000001		/* Update allocatiom address */
+#define	MMUOR_UAA	0x00000001		/* Update allocation address */
 #define	MMUOR_ACC	0x00000002		/* TLB access */
 #define	MMUOR_RD	0x00000004		/* TLB access read */
 #define	MMUOR_WR	0x00000000		/* TLB access write */
--

-- 
2.8.2.534.g1f66975

Andrea Gelmini | 21 May 13:57 2016
Picon
Gravatar

[PATCH 0166/1529] Fix typo

Signed-off-by: Andrea Gelmini <andrea.gelmini <at> gelma.net>
---
 arch/m68k/include/asm/m525xsim.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/m68k/include/asm/m525xsim.h b/arch/m68k/include/asm/m525xsim.h
index f186459..699f20c 100644
--- a/arch/m68k/include/asm/m525xsim.h
+++ b/arch/m68k/include/asm/m525xsim.h
 <at>  <at>  -123,10 +123,10  <at>  <at> 
 /*
  *	I2C module.
  */
-#define MCFI2C_BASE0		(MCF_MBAR + 0x280)	/* Base addreess I2C0 */
+#define MCFI2C_BASE0		(MCF_MBAR + 0x280)	/* Base address I2C0 */
 #define MCFI2C_SIZE0		0x20			/* Register set size */

-#define MCFI2C_BASE1		(MCF_MBAR2 + 0x440)	/* Base addreess I2C1 */
+#define MCFI2C_BASE1		(MCF_MBAR2 + 0x440)	/* Base address I2C1 */
 #define MCFI2C_SIZE1		0x20			/* Register set size */

 /*
--

-- 
2.8.2.534.g1f66975


Gmane