linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux 3.10-rc6
@ 2013-06-15 22:12 Linus Torvalds
  2013-06-16  8:36 ` Geert Uytterhoeven
  2013-06-16 12:37 ` Martin Steigerwald
  0 siblings, 2 replies; 23+ messages in thread
From: Linus Torvalds @ 2013-06-15 22:12 UTC (permalink / raw)
  To: Linux Kernel Mailing List

Another week, another rc.

And I didn't even need to curse all that much at people. Sure, I
talked smack about some of your hamsters, and I declined a couple of
pull requests, but let's face it, it was pretty halfhearted. Most of
the time things were good.

Which is not to say that rc6 couldn't have been smaller, and I'll
probably be even more upset next week if you try to push stuff that
really shouldn't go in by now, but things are better than in rc5.

And while I'm traveling again, this time the internet works better,
and equally importantly, I actually have my release scripts and kup
install on my pixel now, so the tar-balls and patches are going out as
I write this. For all you luddites that still use ancient technology.

But even if you're a luddite, and haven't yet learnt the guilty
pleasures of a git workflow, you do want to run the latest kernel, I'm
sure. So go out and test that you can't find any regressions. Because
we have fixes all over, even if the diff may be dominated by a DTC
parser patch that comes from changing the shipped files to be
generated by Bison 2.5 rather than 2.4.

Most of the rest is pretty small, even if it's all over.
Architectures: x86, powerpc, mips, arm, s390. Filesystems: ceph and
xfs. And networking and driver updates (sound, wireless, md, gpu,
block)...

                 Linus

---

Aaron Lu (1):
      blkpm: avoid sleep when holding queue lock

Akinobu Mita (1):
      frontswap: fix incorrect zeroing and allocation size for frontswap_map

Al Viro (2):
      use can_lookup() instead of direct checks of ->i_op->lookup
      snd_pcm_link(): fix a leak...

Alex Elder (3):
      libceph: must hold mutex for reset_changed_osds()
      rbd: don't destroy ceph_opts in rbd_add()
      rbd: fix cleanup in rbd_add()

Alex Lyakas (1):
      md/raid1: consider WRITE as successful only if at least one
non-Faulty and non-rebuilding drive completed it.

Alex Shi (1):
      include/linux/math64.h: add div64_ul()

Alexander Shishkin (2):
      usb: chipidea: fix no transceiver case
      usb: chipidea: fix id change handling

Andreas Irestål (1):
      ASoC: tlv320aic3x: Remove deadlock from snd_soc_dapm_put_volsw_aic3x()

Andrey Vagin (1):
      memcg: don't initialize kmem-cache destroying work for root caches

Aneesh Kumar K.V (1):
      net/9p: Handle error in zero copy request correctly for 9p2000.u

Arnd Bergmann (3):
      crypto: sahara - fix building as module
      ARM: 7742/1: topology: export cpu_topology
      ARM: 7743/1: compressed/head.S: work around new binutils warning

Ben Greear (1):
      Fix lockup related to stop_machine being stuck in __do_softirq.

Ben Hutchings (1):
      s390/pci: Implement IRQ functions if !PCI

Benjamin Herrenschmidt (2):
      of: Fix locking vs. interrupts
      powerpc: Fix missing/delayed calls to irq_work

Benjamin Poirier (1):
      netiucv: Hold rtnl between name allocation and device registration.

Benjamin Tissoires (1):
      HID: multitouch: prevent memleak with the allocated name

Bing Zhao (1):
      Bluetooth: btmrvl: support Marvell Bluetooth device SD8897

Bjørn Mork (1):
      qmi_wwan/cdc_ether: let qmi_wwan handle the Huawei E1820

Charles Keepax (1):
      ASoC: arizona: Correct AEC loopback enable

Chayan Biswas (1):
      Return the result from user admin command IOCTL even in case of failure

Chen Gang (2):
      lib/mpi/mpicoder.c: looping issue, need stop when equal to zero,
found by 'EXTRA_FLAGS=-W'.
      kernel/audit_tree.c:audit_add_tree_rule(): protect `rule' from
kill_rules()

Chris Wilson (2):
      drm/i915: Fix hotplug interrupt enabling for SDVOC
      drm/i915: Enable hotplug interrupts after querying hw capabilities.

Christian Borntraeger (3):
      s390/pgtable: Fix guest overindication for change bit
      s390/pgtable: Save pgste during modify_prot_start/commit
      s390/pgtable: make pgste lock an explicit barrier

Dan Carpenter (5):
      MAINTAINERS: update NVM EXPRESS DRIVER file list
      NVMe: check for integer overflow in nvme_map_user_pages()
      pktcdvd: silence static checker warning
      ipvs: info leak in __ip_vs_get_dest_entries()
      drivers/misc/sgi-gru/grufile.c: fix info leak in gru_get_config_info()

Daniel Borkmann (2):
      net: sctp: fix NULL pointer dereference in socket destruction
      packet: packet_getname_spkt: make sure string is always 0-terminated

Daniel Vetter (1):
      drm/i915: prefer VBT modes for SVDO-LVDS over EDID

Dave Chiluk (1):
      ncpfs: fix rmdir returns Device or resource busy

Dave Chinner (4):
      xfs: don't emit v5 superblock warnings on write
      xfs: fix implicit padding in directory and attr CRC formats
      xfs: ensure btree root split sets blkno correctly
      xfs: don't shutdown log recovery on validation errors

David Daney (3):
      kvm: Add definition of KVM_REG_MIPS
      mips/kvm: Use KVM_REG_MIPS and proper size indicators for *_ONE_REG
      smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu().

Derek Basehore (1):
      drivers/rtc/rtc-cmos.c: fix accidentally enabling rtc channel

Dimitris Papastamos (1):
      regmap: debugfs: Check return value of regmap_write()

Dinh Nguyen (1):
      net: ethernet: stmicro: stmmac: Fix compile error when
STMMAC_XMIT_DEBUG used

Dmitry Osipenko (1):
      drivers/rtc/rtc-tps6586x.c: device wakeup flags correction

Eliad Peller (1):
      wl12xx/wl18xx: scan all 5ghz channels

Emil Goode (1):
      bcache: Fix incompatible pointer type warning

Eric Dumazet (2):
      net_sched: qdisc_get_rtab() must check data[] array
      ip_tunnel: remove __net_init/exit from exported functions

Felix Fietkau (1):
      Revert "ath9k_hw: Update rx gain initval to improve rx sensitivity"

Gabriel (1):
      bcache: clarify free/available/unused space

Gavin Shan (1):
      powerpc/eeh: Don't check RTAS token to get PE addr

Goldwyn Rodrigues (1):
      fs/ocfs2/namei.c: remove unecessary ERROR when removing
non-empty directory

Grant Likely (2):
      dtc: Update generated files to output from Bison 2.5
      dtc: ensure #line directives don't consume data from the next line

Guenter Roeck (1):
      hwmon: (adm1021) Strengthen chip detection for ADM1021, LM84 and MAX1617

Guillaume Nault (2):
      l2tp: Fix PPP header erasure and memory leak
      l2tp: Fix sendmsg() return value

H. Peter Anvin (1):
      md/raid1,5,10: Disable WRITE SAME until a recovery strategy is in place

Haojian Zhuang (1):
      ARM: prima2: fix incorrect panic usage

Ian Campbell (1):
      kbuild: make sure we clean up DTB temporary files

James Hogan (1):
      KVM: add kvm_para_available to asm-generic/kvm_para.h

Jan Beulich (1):
      xen-netback: don't de-reference vif pointer after having called
xenvif_put()

Jason Wang (3):
      vhost_net: clear msg.control for non-zerocopy case during tx
      tuntap: fix a possible race between queue selection and changing queues
      tuntap: set SOCK_ZEROCOPY flag during open

Jean-Philippe Francois (1):
      ARM: omap3: clock: fix wrong container_of in clock36xx.c

Jim Schutt (2):
      ceph: add cpu_to_le32() calls when encoding a reconnect capability
      ceph: ceph_pagelist_append might sleep while atomic

Jiri Pirko (3):
      team: check return value of team_get_port_by_index_rcu() for NULL
      team: move add to port list before port enablement
      team: fix checks in team_get_first_port_txable_rcu()

Johan Hedberg (3):
      Bluetooth: Fix checks for LE support on LE-only controllers
      Bluetooth: Fix missing length checks for L2CAP signalling PDUs
      Bluetooth: Fix mgmt handling of power on failures

Johan Hovold (8):
      USB: f81232: fix device initialisation at open
      USB: spcp8x5: fix device initialisation at open
      USB: pl2303: fix device initialisation at open
      rtc-at91rm9200: add match-table compile guard
      rtc-at91rm9200: add configuration support
      rtc-at91rm9200: refactor interrupt-register handling
      rtc-at91rm9200: add shadow interrupt mask
      rtc-at91rm9200: use shadow IMR on at91sam9x5

Johannes Weiner (1):
      mm: memcontrol: fix lockless reclaim hierarchy iterator

Josef Bacik (3):
      Btrfs: don't delete fs_roots until after we cleanup the transaction
      Btrfs: init relocate extent_io_tree with a mapping
      Btrfs: stop all workers before cleaning up roots

Josh Triplett (1):
      turbostat: Increase output buffer size to accommodate C8-C10

Jussi Kivilinna (2):
      crypto: twofish - disable AVX2 implementation
      crypto: blowfish - disable AVX2 implementation

Kees Cook (4):
      b43: stop format string leaking into error msgs
      x86, relocs: Move __vvar_page from S_ABS to S_REL
      x86: Fix typo in kexec register clearing
      kmsg: honor dmesg_restrict sysctl on /dev/kmsg

Keith Busch (1):
      NVMe: Do not cancel command multiple times

Kent Overstreet (3):
      bcache: Fix error handling in init code
      raid5: Initialize bi_vcnt
      aio: fix io_destroy() regression by using call_rcu()

Kevin Hao (1):
      powerpc/pci: Check the bus address instead of resource address
in pcibios_fixup_resources

Kevin Hilman (1):
      ARM: dts: omap4-panda|sdp: Fix mux for twl6030 IRQ pin and msecure line

Konrad Rzeszutek Wilk (2):
      xen/smp: Fixup NOHZ per cpu data when onlining an offline CPU.
      xen/tmem: Don't over-write tmem_frontswap_poolid after
tmem_frontswap_init set it.

Kuninori Morimoto (1):
      spi: hspi: fixup long delay time

Larry Finger (2):
      rtlwifi: rtl8192cu: Fix problem in connecting to WEP or WPA(1) networks
      rtlwifi: Fix a false leak indication for PCI devices

Lars Poeschel (1):
      ARM: dts: AM33xx: Fix properties on gpmc node

Lars-Peter Clausen (2):
      spi: topcliff-pch: Pass correct pointer to free_irq()
      regmap: regcache: Fixup locking for custom lock callbacks

Linus Torvalds (1):
      Linux 3.10-rc6

Linus Walleij (1):
      block: remove refs to XD disks from documentation

Liu Bo (1):
      Btrfs: fix use-after-free bug during umount

Luciano Coelho (2):
      wl12xx: fix minimum required firmware version for wl127x multirole
      wl12xx: increase minimum singlerole firmware version required

Maarten ter Huurne (1):
      regmap: rbtree: Fixed node range check on sync

Manuel Lauss (1):
      MIPS: Alchemy: fix wait function

Marc C (1):
      ARM: 7750/1: update legacy CPU ID in decompressor cache support jump table

Mark A. Greer (1):
      mwifiex: debugfs: Fix out of bounds array access

Mark Brown (6):
      spi: Move mailing list to vger
      ASoC: wm8994: Avoid leaking pm_runtime reference on removed jack race
      ASoC: wm8994: Ensure microphone detection state is reset on removal
      MAINTAINERS: Remove myself from Wolfson maintainers
      ASoC: pcm: Require both CODEC and CPU support when declaring stream caps
      ASoC: dapm: Treat DAI widgets like AIF widgets for power

Markos Chandras (2):
      MIPS: include: mmu_context.h: Replace VIRTUALIZATION with KVM
      MIPS: ftrace: Add missing CONFIG_DYNAMIC_FTRACE

Martin Schwidefsky (1):
      s390/dumpstack: fix address ranges for asynchronous and panic stack

Matthew Garrett (1):
      Modify UEFI anti-bricking code

Matthew Wilcox (1):
      NVMe: Use dma_set_mask() correctly

Matthias Schiffer (1):
      batman-adv: wait for rtnl in batadv_store_mesh_iface instead of
failing if it is taken

Michael Ellerman (3):
      powerpc/perf: Fix deadlock caused by calling printk() in PMU exception
      powerpc: Partial revert of "Context switch more PMU related SPRs"
      powerpc: Fix stack overflow crash in resume_kernel when ftracing

Michael Neuling (4):
      powerpc/power8: Fix oprofile and perf
      powerpc/pseries: Simplify denormalization handler
      powerpc/power8: Update denormalization handler
      powerpc/hw_breakpoints: Add DABRX cpu feature to fix 32-bit regression

Michael S. Tsirkin (3):
      vhost: check owner before we overwrite ubuf_info
      vhost: fix ubuf_info cleanup
      macvlan: don't touch promisc without passthrough

Mihai Caraman (1):
      kvm/ppc/booke64: Fix AltiVec interrupt numbers and build breakage

Mugunthan V N (2):
      drivers: net: davinci_mdio: moving mdio resume earlier than cpsw
ethernet driver
      drivers: net: davinci_mdio: restore mdio clk divider in mdio resume

Naohiro Aota (1):
      btrfs: Drop inode if inode root is NULL

Naoya Horiguchi (1):
      mm: migration: add migrate_entry_wait_huge()

Neil Horman (2):
      tulip: Properly check dma mapping result
      sctp: fully initialize sctp_outq in sctp_outq_init

NeilBrown (2):
      md: md_stop_writes() should always freeze recovery.
      md/raid1,raid10: use freeze_array in place of raise_barrier in
various places.

Nicolas Dichtel (1):
      sock_diag: fix filter code sent to userspace

Nicolas Pitre (1):
      ARM: 7737/1: fix kernel decompressor compilation error with
CONFIG_DEBUG_SEMIHOSTING

Nicolas Schichan (3):
      ASoC: cs42l52: use correct PCM mixer TLV dB scale to match datasheet.
      ASoC: cs42l52: fix hp_gain_enum shift value.
      ARM: Kirkwood: handle mv88f6282 cpu in __kirkwood_variant().

Nikolay Aleksandrov (2):
      bonding: reset master mac on first enslave failure
      bonding: fix igmp_retrans type and two related races

Nithin Sujir (1):
      tg3: Wait for boot code to finish after power on

Oleg Nesterov (3):
      audit: wait_for_auditd() should use TASK_UNINTERRUPTIBLE
      fput: task_work_add() can fail if the caller has passed exit_task_work()
      move exit_task_namespaces() outside of exit_notify()

Pablo Neira Ayuso (3):
      netfilter: nfnetlink_acct: fix incomplete dumping of objects
      netfilter: nfnetlink_cttimeout: fix incomplete dumping of objects
      netfilter: nfnetlink_queue: fix missing HW protocol

Patrick McHardy (1):
      netlink: fix error propagation in netlink_mmap()

Patrik Jakobsson (5):
      drm/gma500: Add fb gtt offset to fb base
      drm/gma500/psb: Unpin framebuffer on crtc disable
      drm/gma500/cdv: Unpin framebuffer on crtc disable
      drm/gma500/psb: Fix cursor gem obj referencing on psb
      drm/gma500/cdv: Fix cursor gem obj referencing on cdv

Paul Bolle (1):
      bcache: drop "select CLOSURES"

Paul E. McKenney (2):
      trace: Allow idle-safe tracepoints to be called from irq
      rcu: Fix deadlock with CPU hotplug, RCU GP init, and timer migration

Paul Mackerras (1):
      powerpc: Fix emulation of illegal instructions on PowerNV platform

Peter Crosthwaite (1):
      spi: spi-xilinx: Remove ISR race condition

Peter Oberparleiter (1):
      s390/sclp: fix new line detection

Phil Oester (1):
      netfilter: xt_TCPMSS: Fix violation of RFC879 in absence of MSS option

Rafael Aquini (1):
      swap: avoid read_swap_cache_async() race to deadlock while
waiting on discard I/O completion

Rafael J. Wysocki (1):
      ACPI / video: Do not bind to device objects with a scan handler

Ramachandra Rao Gajula (1):
      NVMe: Add MSI support

Robin Holt (1):
      reboot: rigrate shutdown/reboot to boot cpu

Rusty Russell (1):
      scatterlist: sg_set_buf() argument must be in linear mapping

Sachin Kamat (1):
      NVMe: Remove redundant version.h header include

Sam Bradshaw (2):
      mtip32xx: Fix NULL pointer dereference during module unload
      mtip32xx: Correctly handle bio->bi_idx != 0 conditions

Samuel Ortiz (1):
      mei: init: Flush scheduled work before resetting the device

Saurabh Mohan (1):
      net/ipv4: ip_vti clear skb cb before tunneling.

Scott Wood (3):
      kvm/ppc/booke64: Disable e6500 support
      kvm/ppc/booke: Hold srcu lock when calling gfn functions
      kvm/ppc/booke64: Fix lazy ee handling in kvmppc_handle_exit()

Sebastian Siewior (1):
      net/ti davinci_mdio: don't hold a spin lock while calling pm_runtime

Sergei Shtylyov (1):
      sh_eth: fix result of sh_eth_check_reset() on timeout

Simon Wunderlich (2):
      batman-adv: forward late OGMs from best next hop
      batman-adv: Don't handle address updates when bla is disabled

Somnath Kotur (1):
      be2net: Fix 32-bit DMA Mask handling

Srivatsa S. Bhat (1):
      CPU hotplug: provide a generic helper to disable/enable CPU hotplug

Stephen M. Cameron (1):
      cciss: fix broken mutex usage in ioctl

Steven Rostedt (1):
      rcu: Don't call wakeup() with rcu_node structure ->lock held

Sujith Manoharan (2):
      ath9k: Disable PowerSave by default
      ath9k: Use minstrel rate control by default

Suman Anna (1):
      ARM: dts: OMAP5: Fix missing PWM capability to timer nodes

Thomas Petazzoni (2):
      arm: omap2: fix AM33xx hwmod infos for UART2
      arm: mvebu: armada-xp-{gp,openblocks-ax3-4}: specify PCIe range

Tomas Winkler (2):
      mei: nfc: fix nfc device freeing
      mei: me: clear interrupts on the resume path

Tomasz Figa (1):
      ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms

Tomasz Stanislawski (1):
      mm/page_alloc.c: fix watermark check in __zone_watermark_ok()

Tony Lindgren (2):
      ARM: OMAP3: Fix iva2_pwrdm settings for 3703
      drivers/rtc/rtc-twl.c: fix missing device_init_wakeup() when
booted with device tree

Vishal Verma (1):
      NVMe: Fix a signedness bug in nvme_trans_modesel_get_mp

Wei Yongjun (2):
      NVMe: fix error return code in nvme_submit_bio_queue()
      spi: topcliff-pch: fix error return code in pch_spi_probe()

Will Deacon (1):
      ARM: 7747/1: pcpu: ensure __my_cpu_offset cannot be re-ordered
across barrier()

Xiaowei.Hu (1):
      ocfs2: ocfs2_prep_new_orphaned_file() should return ret

Xue jiufei (1):
      ocfs2: add missing lockres put in dlm_mig_lockres_handler

Yijing Wang (1):
      net: wireless: iwlegacy: fix build error for il_pm_ops

Yinghai Lu (1):
      x86: Fix adjust_range_size_mask calling position

Yoshihiro Shimoda (1):
      net: sh_eth: fix incorrect RX length error if R8A7740

Yoshihiro YUNOMAE (1):
      tracing: Fix outputting formats of x86-tsc and counter when use
trace_clock

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-15 22:12 Linux 3.10-rc6 Linus Torvalds
@ 2013-06-16  8:36 ` Geert Uytterhoeven
  2013-06-16 18:01   ` Linus Torvalds
  2013-06-16 12:37 ` Martin Steigerwald
  1 sibling, 1 reply; 23+ messages in thread
From: Geert Uytterhoeven @ 2013-06-16  8:36 UTC (permalink / raw)
  To: Linus Torvalds, David Daney
  Cc: Linux Kernel Mailing List, Ralf Baechle, Andrew Morton

On Sun, Jun 16, 2013 at 12:12 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> David Daney (3):
>       smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu().

This change (commit f21afc25f9ed45b8ffe200d0f071b0caec3ed2ef, which hasn't
been in linux-next), broke at least mn10300 and ia64:

include/linux/smp.h:148:2: error: implicit declaration of function
'local_irq_save' [-Werror=implicit-function-declaration]
include/linux/smp.h:150:2: error: implicit declaration of function
'local_irq_restore' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [arch/mn10300/kernel/asm-offsets.s] Error 1
http://kisskb.ellerman.id.au/kisskb/buildresult/8968250/

arch/mn10300/include/asm/irqflags.h:71:2: error: implicit declaration
of function 'raw_smp_processor_id'
[-Werror=implicit-function-declaration]
arch/mn10300/include/asm/irqflags.h:71:2: error: implicit declaration
of function 'raw_smp_processor_id'
[-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [arch/mn10300/kernel/smp.o] Error 1
http://kisskb.ellerman.id.au/kisskb/buildresult/8968248/

arch/ia64/include/asm/irqflags.h:49:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:60:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:67:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:76:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:82:18: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:49:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:60:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:67:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:76:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:82:18: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:49:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:60:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:67:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:76:1: error: 'IA64_PSR_I' undeclared
(first use in this function)
arch/ia64/include/asm/irqflags.h:82:18: error: 'IA64_PSR_I' undeclared
(first use in this function)
make[2]: *** [kernel/softirq.o] Error 1
http://kisskb.ellerman.id.au/kisskb/buildresult/8968433/

Reverting it seems to fix the failures (complete build still in progress).

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-15 22:12 Linux 3.10-rc6 Linus Torvalds
  2013-06-16  8:36 ` Geert Uytterhoeven
@ 2013-06-16 12:37 ` Martin Steigerwald
  2013-06-16 12:52   ` Linus Walleij
  2013-06-16 18:09   ` Linus Torvalds
  1 sibling, 2 replies; 23+ messages in thread
From: Martin Steigerwald @ 2013-06-16 12:37 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List

Linus,

Am Samstag, 15. Juni 2013, 12:12:18 schrieb Linus Torvalds:
> Another week, another rc.
> 
> And I didn't even need to curse all that much at people. Sure, I
> talked smack about some of your hamsters, and I declined a couple of
> pull requests, but let's face it, it was pretty halfhearted. Most of
> the time things were good.

Do you really think your cursing controls how other people behave?

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 12:37 ` Martin Steigerwald
@ 2013-06-16 12:52   ` Linus Walleij
  2013-06-16 13:45     ` Martin Steigerwald
  2013-06-16 18:09   ` Linus Torvalds
  1 sibling, 1 reply; 23+ messages in thread
From: Linus Walleij @ 2013-06-16 12:52 UTC (permalink / raw)
  To: Martin Steigerwald; +Cc: Linus Torvalds, Linux Kernel Mailing List

On Sun, Jun 16, 2013 at 2:37 PM, Martin Steigerwald <Martin@lichtvoll.de> wrote:
> Am Samstag, 15. Juni 2013, 12:12:18 schrieb Linus Torvalds:
>> Another week, another rc.
>>
>> And I didn't even need to curse all that much at people. Sure, I
>> talked smack about some of your hamsters, and I declined a couple of
>> pull requests, but let's face it, it was pretty halfhearted. Most of
>> the time things were good.
>
> Do you really think your cursing controls how other people behave?

Consider spending some time reading
Documentation/ManagementStyle

And you will surely get the hang of this.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 12:52   ` Linus Walleij
@ 2013-06-16 13:45     ` Martin Steigerwald
  0 siblings, 0 replies; 23+ messages in thread
From: Martin Steigerwald @ 2013-06-16 13:45 UTC (permalink / raw)
  To: Linus Walleij; +Cc: Linus Torvalds, Linux Kernel Mailing List

Am Sonntag, 16. Juni 2013, 14:52:13 schrieb Linus Walleij:
> On Sun, Jun 16, 2013 at 2:37 PM, Martin Steigerwald <Martin@lichtvoll.de> 
wrote:
> > Am Samstag, 15. Juni 2013, 12:12:18 schrieb Linus Torvalds:
> >> Another week, another rc.
> >> 
> >> And I didn't even need to curse all that much at people. Sure, I
> >> talked smack about some of your hamsters, and I declined a couple of
> >> pull requests, but let's face it, it was pretty halfhearted. Most of
> >> the time things were good.
> > 
> > Do you really think your cursing controls how other people behave?
> 
> Consider spending some time reading
> Documentation/ManagementStyle
> 
> And you will surely get the hang of this.

I read it some years ago. And now read it again.

I wanted to say: "Frankly, no, I didn´t get the hang on how this document 
gives threating to insult pets and hamsters of developers or the insulting 
itself any approval."

But now I ask:

"Is this about the humor part in there?"


Well as much as I believe that insulting someone tells at least as much about 
the insulter as the insulted, I believe that my bothering about the threat to 
curse people tells much about me, the botherer.


So if it works for everybody else…
-- 
Martin

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16  8:36 ` Geert Uytterhoeven
@ 2013-06-16 18:01   ` Linus Torvalds
  2013-06-17 20:30     ` Andrew Morton
  0 siblings, 1 reply; 23+ messages in thread
From: Linus Torvalds @ 2013-06-16 18:01 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: David Daney, Linux Kernel Mailing List, Ralf Baechle, Andrew Morton

On Sat, Jun 15, 2013 at 10:36 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>
> On Sun, Jun 16, 2013 at 12:12 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > David Daney (3):
> >       smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu().
>
> This change (commit f21afc25f9ed45b8ffe200d0f071b0caec3ed2ef, which hasn't
> been in linux-next), broke at least mn10300 and ia64:
>
> include/linux/smp.h:148:2: error: implicit declaration of function 'local_irq_save' [-Werror=implicit-function-declaration]

Hmm. DavidD already added the include for <linux/irqflags.h>, I wonder
why that doesn't end up working. Do we have some silly header file
circular include that means that we're already half-way through that
irqflags.h file and thus will skip it the second time we see it, or
why does it end up being undeclared?

Anyway, I see a few options:

 - we could just make it a macro like it used to be (keeping the
include and assuming that will sort out any circular include mess) and
use a rare name for the internal "flags" variable (just prepending
double underscores is the common one we tend to use in situations like
this)

 - we could just make it a real function, the way the SMP one is, and
take the extra call overhead (it's not like this should be all that
critical in an UP environment).

 - somebody figures out why the <linux/irqflags.h> include ends up not
working on nm10300 and ia64..

Hmm?

                 Linus

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 12:37 ` Martin Steigerwald
  2013-06-16 12:52   ` Linus Walleij
@ 2013-06-16 18:09   ` Linus Torvalds
  2013-06-16 18:28     ` Linus Torvalds
                       ` (2 more replies)
  1 sibling, 3 replies; 23+ messages in thread
From: Linus Torvalds @ 2013-06-16 18:09 UTC (permalink / raw)
  To: Martin Steigerwald; +Cc: Linux Kernel Mailing List

On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <Martin@lichtvoll.de> wrote:
>
> Do you really think your cursing controls how other people behave?

Yes. In three ways:

 - I have magic mind-powers, and cursing releases them, and makes
kernel developers behave better. I'm not very strong in my
mind-powers, so only weak-willed individuals are noticeably affected -
and we really don't have a lot of those - but hey, every little bit
helps.

 - It turns off small-minded people who care more about tone than
substance, and means that I can get rid of the whiners.

 - it is a signal for people who have some sense that I'm getting
irritated, and reminds them about how I pay them the big bucks and
makes them behave.

In addition, it turns out that it affects not just other people, but
the person cursing too: there has also been scientific studies that
cursing relieves stress and actually relieves pain, and is not the bad
thing that the PC crowd thinks it is. It turns out that all societies
have cursing, and it really has an impact.

Seriously, I'm not just making that sh*t up. Google it.

                Linus

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 18:09   ` Linus Torvalds
@ 2013-06-16 18:28     ` Linus Torvalds
  2013-06-16 22:18       ` Davidlohr Bueso
  2013-06-16 18:51     ` Martin Steigerwald
  2013-06-16 19:26     ` Guenter Roeck
  2 siblings, 1 reply; 23+ messages in thread
From: Linus Torvalds @ 2013-06-16 18:28 UTC (permalink / raw)
  To: Martin Steigerwald; +Cc: Linux Kernel Mailing List

On Sun, Jun 16, 2013 at 8:09 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <Martin@lichtvoll.de> wrote:
>>
>> Do you really think your cursing controls how other people behave?
>
> Yes. In three ways:

Besides, hamsters really are evil creatures.

Sure, you may love your fluffy little Flopsy the dwarf hamster, but
behind that cute and unassuming exterior lies a calculating and black
little heart.

So hamster-cursing pretty much doesn't need any excuses. They have it
coming to them.

              Linus

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 18:09   ` Linus Torvalds
  2013-06-16 18:28     ` Linus Torvalds
@ 2013-06-16 18:51     ` Martin Steigerwald
  2013-06-16 19:51       ` Al Viro
  2013-06-16 19:26     ` Guenter Roeck
  2 siblings, 1 reply; 23+ messages in thread
From: Martin Steigerwald @ 2013-06-16 18:51 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List

Am Sonntag, 16. Juni 2013, 08:09:03 schrieb Linus Torvalds:
> On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <Martin@lichtvoll.de> 
wrote:
> > Do you really think your cursing controls how other people behave?
> 
> Yes. In three ways:
> 
>  - I have magic mind-powers, and cursing releases them, and makes
[…]
>  - It turns off small-minded people who care more about tone than
[…]
>  - it is a signal for people who have some sense that I'm getting
> irritated, […]

Thanks for sharing.

I especially love the part about your magic mind powers.

So its more or even something different than attacking a person for you and as 
I guessed also tells something about your beliefs. Good to know.

> In addition, it turns out that it affects not just other people, but
> the person cursing too: there has also been scientific studies that
> cursing relieves stress and actually relieves pain, and is not the bad
> thing that the PC crowd thinks it is. It turns out that all societies
> have cursing, and it really has an impact.

> Seriously, I'm not just making that sh*t up. Google it.

I think I will have a look at this.

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 18:09   ` Linus Torvalds
  2013-06-16 18:28     ` Linus Torvalds
  2013-06-16 18:51     ` Martin Steigerwald
@ 2013-06-16 19:26     ` Guenter Roeck
  2 siblings, 0 replies; 23+ messages in thread
From: Guenter Roeck @ 2013-06-16 19:26 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Martin Steigerwald, Linux Kernel Mailing List

On Sun, Jun 16, 2013 at 08:09:03AM -1000, Linus Torvalds wrote:
> On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <Martin@lichtvoll.de> wrote:
> >
> > Do you really think your cursing controls how other people behave?
> 
> Yes. In three ways:
> 
>  - I have magic mind-powers, and cursing releases them, and makes
> kernel developers behave better. I'm not very strong in my
> mind-powers, so only weak-willed individuals are noticeably affected -
> and we really don't have a lot of those - but hey, every little bit
> helps.
> 
>  - It turns off small-minded people who care more about tone than
> substance, and means that I can get rid of the whiners.
> 
>  - it is a signal for people who have some sense that I'm getting
> irritated, and reminds them about how I pay them the big bucks and
> makes them behave.
> 

Another reason: The threat of being cursed at makes people more careful,
and thus helps keeping the Linux kernel clean and working.
The best method to screw up a code base is to be politically correct
with those breaking it.

Keep doing it, and never give in to demands for political correctness.

Guenter

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 18:51     ` Martin Steigerwald
@ 2013-06-16 19:51       ` Al Viro
  2013-06-20  3:14         ` Steven Rostedt
  0 siblings, 1 reply; 23+ messages in thread
From: Al Viro @ 2013-06-16 19:51 UTC (permalink / raw)
  To: Martin Steigerwald; +Cc: Linus Torvalds, Linux Kernel Mailing List

On Sun, Jun 16, 2013 at 08:51:50PM +0200, Martin Steigerwald wrote:
> > Seriously, I'm not just making that sh*t up. Google it.
> 
> I think I will have a look at this.

Look up "sarcasm" as well, while you are at it...

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 18:28     ` Linus Torvalds
@ 2013-06-16 22:18       ` Davidlohr Bueso
  0 siblings, 0 replies; 23+ messages in thread
From: Davidlohr Bueso @ 2013-06-16 22:18 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Martin Steigerwald, Linux Kernel Mailing List

On Sun, 2013-06-16 at 08:28 -1000, Linus Torvalds wrote:
> On Sun, Jun 16, 2013 at 8:09 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <Martin@lichtvoll.de> wrote:
> >>
> >> Do you really think your cursing controls how other people behave?
> >
> > Yes. In three ways:
> 
> Besides, hamsters really are evil creatures.
> 
> Sure, you may love your fluffy little Flopsy the dwarf hamster, but
> behind that cute and unassuming exterior lies a calculating and black
> little heart.

You must be referring to this guy
http://www.wattpad.com/16314225-diary-of-the-devil-hamster-my-friend%
27s-pet#.Ub45Y3zSIsM



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 18:01   ` Linus Torvalds
@ 2013-06-17 20:30     ` Andrew Morton
  2013-06-17 20:48       ` David Daney
  2013-06-17 21:22       ` Geert Uytterhoeven
  0 siblings, 2 replies; 23+ messages in thread
From: Andrew Morton @ 2013-06-17 20:30 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Geert Uytterhoeven, David Daney, Linux Kernel Mailing List, Ralf Baechle

On Sun, 16 Jun 2013 08:01:44 -1000 Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Sat, Jun 15, 2013 at 10:36 PM, Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
> >
> > On Sun, Jun 16, 2013 at 12:12 AM, Linus Torvalds
> > <torvalds@linux-foundation.org> wrote:
> > > David Daney (3):
> > >       smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu().
> >
> > This change (commit f21afc25f9ed45b8ffe200d0f071b0caec3ed2ef, which hasn't
> > been in linux-next), broke at least mn10300 and ia64:
> >
> > include/linux/smp.h:148:2: error: implicit declaration of function 'local_irq_save' [-Werror=implicit-function-declaration]
> 
> Hmm. DavidD already added the include for <linux/irqflags.h>, I wonder
> why that doesn't end up working. Do we have some silly header file
> circular include that means that we're already half-way through that
> irqflags.h file and thus will skip it the second time we see it, or
> why does it end up being undeclared?

Heaven knows; I don't think now is the time to try to fix this.

If I'd thought for two seconds I wouldn't have sent that patch at this
time - additional low-level includes in low-level header files are
often problematic.

> Anyway, I see a few options:
> 
>  - we could just make it a macro like it used to be (keeping the
> include and assuming that will sort out any circular include mess) and
> use a rare name for the internal "flags" variable (just prepending
> double underscores is the common one we tend to use in situations like
> this)
> 
>  - we could just make it a real function, the way the SMP one is, and
> take the extra call overhead (it's not like this should be all that
> critical in an UP environment).
> 
>  - somebody figures out why the <linux/irqflags.h> include ends up not
> working on nm10300 and ia64..

Methinks we should fight this battle at a later date.  I queued this:

From: Andrew Morton <akpm@linux-foundation.org>
Subject: include/linux/smp.h:on_each_cpu(): switch back to a macro

f21afc25f9ed4 ("smp.h: Use local_irq_{save,restore}() in !SMP version of
on_each_cpu()") converted on_each_cpu() to a C function.  This required
inclusion of irqflags.h, which broke ia64 and mn10300 (at least) due to
header ordering hell.

Switch on_each_cpu() back to a macro to fix this.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: David Daney <david.daney@cavium.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 include/linux/smp.h |   20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff -puN include/linux/smp.h~include-linux-smph-on_each_cpu-switch-back-to-a-macro include/linux/smp.h
--- a/include/linux/smp.h~include-linux-smph-on_each_cpu-switch-back-to-a-macro
+++ a/include/linux/smp.h
@@ -11,7 +11,6 @@
 #include <linux/list.h>
 #include <linux/cpumask.h>
 #include <linux/init.h>
-#include <linux/irqflags.h>
 
 extern void cpu_idle(void);
 
@@ -140,17 +139,14 @@ static inline int up_smp_call_function(s
 }
 #define smp_call_function(func, info, wait) \
 			(up_smp_call_function(func, info))
-
-static inline int on_each_cpu(smp_call_func_t func, void *info, int wait)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	func(info);
-	local_irq_restore(flags);
-	return 0;
-}
-
+#define on_each_cpu(func,info,wait)		\
+	({					\
+		unsigned long flags;		\
+		local_irq_save(flags);		\
+		func(info);			\
+		local_irq_restore(flags);	\
+		0;				\
+	})
 /*
  * Note we still need to test the mask even for UP
  * because we actually can get an empty mask from
_


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 20:30     ` Andrew Morton
@ 2013-06-17 20:48       ` David Daney
  2013-06-17 20:59         ` Andrew Morton
  2013-06-17 21:22       ` Geert Uytterhoeven
  1 sibling, 1 reply; 23+ messages in thread
From: David Daney @ 2013-06-17 20:48 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds
  Cc: Geert Uytterhoeven, David Daney, Linux Kernel Mailing List, Ralf Baechle

On 06/17/2013 01:30 PM, Andrew Morton wrote:
[...]
>
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: include/linux/smp.h:on_each_cpu(): switch back to a macro
>
> f21afc25f9ed4 ("smp.h: Use local_irq_{save,restore}() in !SMP version of
> on_each_cpu()") converted on_each_cpu() to a C function.  This required
> inclusion of irqflags.h, which broke ia64 and mn10300 (at least) due to
> header ordering hell.
>
> Switch on_each_cpu() back to a macro to fix this.

FYI:  I have already sent a pair of patches that fix the include 
dependencies:

https://lkml.org/lkml/2013/6/16/113
https://lkml.org/lkml/2013/6/17/422

Obviously, it is Linus' choice as to how best to handle the failure, but 
I think it is important to know that there are two options (fixing ia64 
and mn10300, or reverting the patch).

David Daney



>
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: David Daney <david.daney@cavium.com>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
>   include/linux/smp.h |   20 ++++++++------------
>   1 file changed, 8 insertions(+), 12 deletions(-)
>
> diff -puN include/linux/smp.h~include-linux-smph-on_each_cpu-switch-back-to-a-macro include/linux/smp.h
> --- a/include/linux/smp.h~include-linux-smph-on_each_cpu-switch-back-to-a-macro
> +++ a/include/linux/smp.h
> @@ -11,7 +11,6 @@
>   #include <linux/list.h>
>   #include <linux/cpumask.h>
>   #include <linux/init.h>
> -#include <linux/irqflags.h>
>
>   extern void cpu_idle(void);
>
> @@ -140,17 +139,14 @@ static inline int up_smp_call_function(s
>   }
>   #define smp_call_function(func, info, wait) \
>   			(up_smp_call_function(func, info))
> -
> -static inline int on_each_cpu(smp_call_func_t func, void *info, int wait)
> -{
> -	unsigned long flags;
> -
> -	local_irq_save(flags);
> -	func(info);
> -	local_irq_restore(flags);
> -	return 0;
> -}
> -
> +#define on_each_cpu(func,info,wait)		\
> +	({					\
> +		unsigned long flags;		\
> +		local_irq_save(flags);		\
> +		func(info);			\
> +		local_irq_restore(flags);	\
> +		0;				\
> +	})
>   /*
>    * Note we still need to test the mask even for UP
>    * because we actually can get an empty mask from
> _
>
>


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 20:48       ` David Daney
@ 2013-06-17 20:59         ` Andrew Morton
  2013-06-17 21:08           ` David Daney
  0 siblings, 1 reply; 23+ messages in thread
From: Andrew Morton @ 2013-06-17 20:59 UTC (permalink / raw)
  To: David Daney
  Cc: Linus Torvalds, Geert Uytterhoeven, David Daney,
	Linux Kernel Mailing List, Ralf Baechle

On Mon, 17 Jun 2013 13:48:16 -0700 David Daney <ddaney@caviumnetworks.com> wrote:

> On 06/17/2013 01:30 PM, Andrew Morton wrote:
> [...]
> >
> > From: Andrew Morton <akpm@linux-foundation.org>
> > Subject: include/linux/smp.h:on_each_cpu(): switch back to a macro
> >
> > f21afc25f9ed4 ("smp.h: Use local_irq_{save,restore}() in !SMP version of
> > on_each_cpu()") converted on_each_cpu() to a C function.  This required
> > inclusion of irqflags.h, which broke ia64 and mn10300 (at least) due to
> > header ordering hell.
> >
> > Switch on_each_cpu() back to a macro to fix this.
> 
> FYI:  I have already sent a pair of patches that fix the include 
> dependencies:
> 
> https://lkml.org/lkml/2013/6/16/113
> https://lkml.org/lkml/2013/6/17/422

I wasn't cc'ed.

> Obviously, it is Linus' choice as to how best to handle the failure, but 
> I think it is important to know that there are two options (fixing ia64 
> and mn10300, or reverting the patch).

I certainly prefer the inline function over a crappy macro.  The
additional nested include is regrettable - more complexity.

Also, it's good to have the SMP and non-SMP versions either both using
macros or both using C.  Having them different can cause irritating
unused-variable compilation warnings when using the macro version.

I think switch-back-to-a-macro is simplest and safest for now.  Perhaps
you can queue a 3.11 patch which restores the C function and fixes up
mn10300 and ia64?


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 20:59         ` Andrew Morton
@ 2013-06-17 21:08           ` David Daney
  2013-06-17 21:13             ` Andrew Morton
  0 siblings, 1 reply; 23+ messages in thread
From: David Daney @ 2013-06-17 21:08 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linus Torvalds, Geert Uytterhoeven, David Daney,
	Linux Kernel Mailing List, Ralf Baechle

On 06/17/2013 01:59 PM, Andrew Morton wrote:
> On Mon, 17 Jun 2013 13:48:16 -0700 David Daney <ddaney@caviumnetworks.com> wrote:
>
>> On 06/17/2013 01:30 PM, Andrew Morton wrote:
>> [...]
>>>
>>> From: Andrew Morton <akpm@linux-foundation.org>
>>> Subject: include/linux/smp.h:on_each_cpu(): switch back to a macro
>>>
>>> f21afc25f9ed4 ("smp.h: Use local_irq_{save,restore}() in !SMP version of
>>> on_each_cpu()") converted on_each_cpu() to a C function.  This required
>>> inclusion of irqflags.h, which broke ia64 and mn10300 (at least) due to
>>> header ordering hell.
>>>
>>> Switch on_each_cpu() back to a macro to fix this.
>>
>> FYI:  I have already sent a pair of patches that fix the include
>> dependencies:
>>
>> https://lkml.org/lkml/2013/6/16/113
>> https://lkml.org/lkml/2013/6/17/422
>
> I wasn't cc'ed.
>
>> Obviously, it is Linus' choice as to how best to handle the failure, but
>> I think it is important to know that there are two options (fixing ia64
>> and mn10300, or reverting the patch).
>
> I certainly prefer the inline function over a crappy macro.  The
> additional nested include is regrettable - more complexity.
>
> Also, it's good to have the SMP and non-SMP versions either both using
> macros or both using C.  Having them different can cause irritating
> unused-variable compilation warnings when using the macro version.

Although all these points are true, they are not why I wrote the patch.

The key difference, for me, between the SMP and !SMP versions is that 
the !SMP version unconditionally enables interrupts, and this enabling 
interrupts breaks my kernel

>
> I think switch-back-to-a-macro is simplest and safest for now.  Perhaps
> you can queue a 3.11 patch which restores the C function and fixes up
> mn10300 and ia64?
>

If the patch is reverted, I will do that.

David Daney


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 21:08           ` David Daney
@ 2013-06-17 21:13             ` Andrew Morton
  2013-06-17 21:26               ` David Daney
  0 siblings, 1 reply; 23+ messages in thread
From: Andrew Morton @ 2013-06-17 21:13 UTC (permalink / raw)
  To: David Daney
  Cc: Linus Torvalds, Geert Uytterhoeven, David Daney,
	Linux Kernel Mailing List, Ralf Baechle

On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <ddaney@caviumnetworks.com> wrote:

> >
> > I think switch-back-to-a-macro is simplest and safest for now.  Perhaps
> > you can queue a 3.11 patch which restores the C function and fixes up
> > mn10300 and ia64?
> >
> 
> If the patch is reverted, I will do that.

I'm not proposing that we revert f21afc25f9ed4.  Retain its
functionality, but do it via a macro for 3.10.


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 20:30     ` Andrew Morton
  2013-06-17 20:48       ` David Daney
@ 2013-06-17 21:22       ` Geert Uytterhoeven
  1 sibling, 0 replies; 23+ messages in thread
From: Geert Uytterhoeven @ 2013-06-17 21:22 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linus Torvalds, David Daney, Linux Kernel Mailing List, Ralf Baechle

On Mon, Jun 17, 2013 at 10:30 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: include/linux/smp.h:on_each_cpu(): switch back to a macro
>
> f21afc25f9ed4 ("smp.h: Use local_irq_{save,restore}() in !SMP version of
> on_each_cpu()") converted on_each_cpu() to a C function.  This required
> inclusion of irqflags.h, which broke ia64 and mn10300 (at least) due to
> header ordering hell.
>
> Switch on_each_cpu() back to a macro to fix this.
>
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: David Daney <david.daney@cavium.com>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 21:13             ` Andrew Morton
@ 2013-06-17 21:26               ` David Daney
  2013-06-17 21:38                 ` Andrew Morton
  0 siblings, 1 reply; 23+ messages in thread
From: David Daney @ 2013-06-17 21:26 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linus Torvalds, Geert Uytterhoeven, David Daney,
	Linux Kernel Mailing List, Ralf Baechle

On 06/17/2013 02:13 PM, Andrew Morton wrote:
> On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <ddaney@caviumnetworks.com> wrote:
>
>>>
>>> I think switch-back-to-a-macro is simplest and safest for now.  Perhaps
>>> you can queue a 3.11 patch which restores the C function and fixes up
>>> mn10300 and ia64?
>>>
>>
>> If the patch is reverted, I will do that.
>
> I'm not proposing that we revert f21afc25f9ed4.  Retain its
> functionality, but do it via a macro for 3.10.
>

I misread your patch.  Your patch may be incorrect in that the flags 
variable you introduce has name space collisions with code using the 
macro.  Linus found this exact problem with the first version of my 
patch (which was identical to your patch).

Once you fix the name of 'flags', I hope you don't run into the same 
Include Hell on ia64 and mn10300 that I did.

David Daney


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 21:26               ` David Daney
@ 2013-06-17 21:38                 ` Andrew Morton
  2013-06-18  8:37                   ` Geert Uytterhoeven
  2013-06-19 16:57                   ` David Daney
  0 siblings, 2 replies; 23+ messages in thread
From: Andrew Morton @ 2013-06-17 21:38 UTC (permalink / raw)
  To: David Daney
  Cc: Linus Torvalds, Geert Uytterhoeven, David Daney,
	Linux Kernel Mailing List, Ralf Baechle

On Mon, 17 Jun 2013 14:26:01 -0700 David Daney <ddaney@caviumnetworks.com> wrote:

> On 06/17/2013 02:13 PM, Andrew Morton wrote:
> > On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <ddaney@caviumnetworks.com> wrote:
> >
> >>>
> >>> I think switch-back-to-a-macro is simplest and safest for now.  Perhaps
> >>> you can queue a 3.11 patch which restores the C function and fixes up
> >>> mn10300 and ia64?
> >>>
> >>
> >> If the patch is reverted, I will do that.
> >
> > I'm not proposing that we revert f21afc25f9ed4.  Retain its
> > functionality, but do it via a macro for 3.10.
> >
> 
> I misread your patch.  Your patch may be incorrect in that the flags 
> variable you introduce has name space collisions with code using the 
> macro.  Linus found this exact problem with the first version of my 
> patch (which was identical to your patch).

Sigh.  Macros do so suck.

--- a/include/linux/smp.h~include-linux-smph-on_each_cpu-switch-back-to-a-macro
+++ a/include/linux/smp.h
@@ -11,7 +11,6 @@
 #include <linux/list.h>
 #include <linux/cpumask.h>
 #include <linux/init.h>
-#include <linux/irqflags.h>
 
 extern void cpu_idle(void);
 
@@ -140,17 +139,14 @@ static inline int up_smp_call_function(s
 }
 #define smp_call_function(func, info, wait) \
 			(up_smp_call_function(func, info))
-
-static inline int on_each_cpu(smp_call_func_t func, void *info, int wait)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	func(info);
-	local_irq_restore(flags);
-	return 0;
-}
-
+#define on_each_cpu(func, info, wait)		\
+	({					\
+		unsigned long __flags;		\
+		local_irq_save(__flags);	\
+		func(info);			\
+		local_irq_restore(__flags);	\
+		0;				\
+	})
 /*
  * Note we still need to test the mask even for UP
  * because we actually can get an empty mask from
_

> Once you fix the name of 'flags', I hope you don't run into the same 
> Include Hell on ia64 and mn10300 that I did.

I build-tested ia64.  I don't have an mn10300 cross-compiler set up.


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 21:38                 ` Andrew Morton
@ 2013-06-18  8:37                   ` Geert Uytterhoeven
  2013-06-19 16:57                   ` David Daney
  1 sibling, 0 replies; 23+ messages in thread
From: Geert Uytterhoeven @ 2013-06-18  8:37 UTC (permalink / raw)
  To: Andrew Morton
  Cc: David Daney, Linus Torvalds, David Daney,
	Linux Kernel Mailing List, Ralf Baechle

On Mon, Jun 17, 2013 at 11:38 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
>> Once you fix the name of 'flags', I hope you don't run into the same
>> Include Hell on ia64 and mn10300 that I did.
>
> I build-tested ia64.  I don't have an mn10300 cross-compiler set up.

Both mn10300 defconfigs build fine with it, so
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

FWIW, Tony's collection has one at
https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.6.3/

It's called am33_2.0-linux-gcc, not mn10300-linux-gcc.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-17 21:38                 ` Andrew Morton
  2013-06-18  8:37                   ` Geert Uytterhoeven
@ 2013-06-19 16:57                   ` David Daney
  1 sibling, 0 replies; 23+ messages in thread
From: David Daney @ 2013-06-19 16:57 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds
  Cc: Geert Uytterhoeven, David Daney, Linux Kernel Mailing List, Ralf Baechle

On 06/17/2013 02:38 PM, Andrew Morton wrote:
> On Mon, 17 Jun 2013 14:26:01 -0700 David Daney <ddaney@caviumnetworks.com> wrote:
>
>> On 06/17/2013 02:13 PM, Andrew Morton wrote:
>>> On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <ddaney@caviumnetworks.com> wrote:
>>>
>>>>>
>>>>> I think switch-back-to-a-macro is simplest and safest for now.  Perhaps
>>>>> you can queue a 3.11 patch which restores the C function and fixes up
>>>>> mn10300 and ia64?
>>>>>
>>>>
>>>> If the patch is reverted, I will do that.
>>>
>>> I'm not proposing that we revert f21afc25f9ed4.  Retain its
>>> functionality, but do it via a macro for 3.10.

FYI, these two commits:

c0691143dfe (mn10300: Fix include dependency in irqflags.h et al.)
f75773103d2 ([IA64] Fix include dependency in asm/irqflags.h)

... seem to fix all known breakage related to this issue.  So, the patch 
(to convert back to a macro) may not be necessary.

Sorry to create all this late -rc churn,
David Daney

>>>
>>
>> I misread your patch.  Your patch may be incorrect in that the flags
>> variable you introduce has name space collisions with code using the
>> macro.  Linus found this exact problem with the first version of my
>> patch (which was identical to your patch).
>
> Sigh.  Macros do so suck.
>
> --- a/include/linux/smp.h~include-linux-smph-on_each_cpu-switch-back-to-a-macro
> +++ a/include/linux/smp.h
> @@ -11,7 +11,6 @@
>   #include <linux/list.h>
>   #include <linux/cpumask.h>
>   #include <linux/init.h>
> -#include <linux/irqflags.h>
>
>   extern void cpu_idle(void);
>
> @@ -140,17 +139,14 @@ static inline int up_smp_call_function(s
>   }
>   #define smp_call_function(func, info, wait) \
>   			(up_smp_call_function(func, info))
> -
> -static inline int on_each_cpu(smp_call_func_t func, void *info, int wait)
> -{
> -	unsigned long flags;
> -
> -	local_irq_save(flags);
> -	func(info);
> -	local_irq_restore(flags);
> -	return 0;
> -}
> -
> +#define on_each_cpu(func, info, wait)		\
> +	({					\
> +		unsigned long __flags;		\
> +		local_irq_save(__flags);	\
> +		func(info);			\
> +		local_irq_restore(__flags);	\
> +		0;				\
> +	})
>   /*
>    * Note we still need to test the mask even for UP
>    * because we actually can get an empty mask from
> _
>
>> Once you fix the name of 'flags', I hope you don't run into the same
>> Include Hell on ia64 and mn10300 that I did.
>
> I build-tested ia64.  I don't have an mn10300 cross-compiler set up.
>
>


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Linux 3.10-rc6
  2013-06-16 19:51       ` Al Viro
@ 2013-06-20  3:14         ` Steven Rostedt
  0 siblings, 0 replies; 23+ messages in thread
From: Steven Rostedt @ 2013-06-20  3:14 UTC (permalink / raw)
  To: Al Viro; +Cc: Martin Steigerwald, Linus Torvalds, Linux Kernel Mailing List

On Sun, Jun 16, 2013 at 08:51:06PM +0100, Al Viro wrote:
> On Sun, Jun 16, 2013 at 08:51:50PM +0200, Martin Steigerwald wrote:
> > > Seriously, I'm not just making that sh*t up. Google it.
> > 
> > I think I will have a look at this.
> 
> Look up "sarcasm" as well, while you are at it...

Sarcastic or not, cursing does actually help you mentally and
physically.


GOD D*MN IT, F*CKING MOTHER F*CKER, SH*T THIS JACK *SS LITTLE D*CK TWERP
HOMMY B*TCH F*CK UP THE *SS IN THE CORNER OF THE BLUE MOON PONDERING
AWAY!

There, I feel much better already.

-- Steve


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2013-06-20  3:14 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-15 22:12 Linux 3.10-rc6 Linus Torvalds
2013-06-16  8:36 ` Geert Uytterhoeven
2013-06-16 18:01   ` Linus Torvalds
2013-06-17 20:30     ` Andrew Morton
2013-06-17 20:48       ` David Daney
2013-06-17 20:59         ` Andrew Morton
2013-06-17 21:08           ` David Daney
2013-06-17 21:13             ` Andrew Morton
2013-06-17 21:26               ` David Daney
2013-06-17 21:38                 ` Andrew Morton
2013-06-18  8:37                   ` Geert Uytterhoeven
2013-06-19 16:57                   ` David Daney
2013-06-17 21:22       ` Geert Uytterhoeven
2013-06-16 12:37 ` Martin Steigerwald
2013-06-16 12:52   ` Linus Walleij
2013-06-16 13:45     ` Martin Steigerwald
2013-06-16 18:09   ` Linus Torvalds
2013-06-16 18:28     ` Linus Torvalds
2013-06-16 22:18       ` Davidlohr Bueso
2013-06-16 18:51     ` Martin Steigerwald
2013-06-16 19:51       ` Al Viro
2013-06-20  3:14         ` Steven Rostedt
2013-06-16 19:26     ` Guenter Roeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).