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
On Sun, Jun 16, 2013 at 12:12 AM, Linus Torvalds
<[email protected]> 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 -- [email protected]
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
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
On Sun, Jun 16, 2013 at 2:37 PM, Martin Steigerwald <[email protected]> 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
Am Sonntag, 16. Juni 2013, 14:52:13 schrieb Linus Walleij:
> On Sun, Jun 16, 2013 at 2:37 PM, Martin Steigerwald <[email protected]>
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
On Sat, Jun 15, 2013 at 10:36 PM, Geert Uytterhoeven
<[email protected]> wrote:
>
> On Sun, Jun 16, 2013 at 12:12 AM, Linus Torvalds
> <[email protected]> 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
On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <[email protected]> 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
On Sun, Jun 16, 2013 at 8:09 AM, Linus Torvalds
<[email protected]> wrote:
> On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <[email protected]> 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
Am Sonntag, 16. Juni 2013, 08:09:03 schrieb Linus Torvalds:
> On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <[email protected]>
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
On Sun, Jun 16, 2013 at 08:09:03AM -1000, Linus Torvalds wrote:
> On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <[email protected]> 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
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...
On Sun, 2013-06-16 at 08:28 -1000, Linus Torvalds wrote:
> On Sun, Jun 16, 2013 at 8:09 AM, Linus Torvalds
> <[email protected]> wrote:
> > On Sun, Jun 16, 2013 at 2:37 AM, Martin Steigerwald <[email protected]> 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
On Sun, 16 Jun 2013 08:01:44 -1000 Linus Torvalds <[email protected]> wrote:
> On Sat, Jun 15, 2013 at 10:36 PM, Geert Uytterhoeven
> <[email protected]> wrote:
> >
> > On Sun, Jun 16, 2013 at 12:12 AM, Linus Torvalds
> > <[email protected]> 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 <[email protected]>
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 <[email protected]>
Cc: David Daney <[email protected]>
Cc: Ralf Baechle <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---
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
_
On 06/17/2013 01:30 PM, Andrew Morton wrote:
[...]
>
> From: Andrew Morton <[email protected]>
> 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 <[email protected]>
> Cc: David Daney <[email protected]>
> Cc: Ralf Baechle <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> 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
> _
>
>
On Mon, 17 Jun 2013 13:48:16 -0700 David Daney <[email protected]> wrote:
> On 06/17/2013 01:30 PM, Andrew Morton wrote:
> [...]
> >
> > From: Andrew Morton <[email protected]>
> > 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?
On 06/17/2013 01:59 PM, Andrew Morton wrote:
> On Mon, 17 Jun 2013 13:48:16 -0700 David Daney <[email protected]> wrote:
>
>> On 06/17/2013 01:30 PM, Andrew Morton wrote:
>> [...]
>>>
>>> From: Andrew Morton <[email protected]>
>>> 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
On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <[email protected]> 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.
On Mon, Jun 17, 2013 at 10:30 PM, Andrew Morton
<[email protected]> wrote:
> From: Andrew Morton <[email protected]>
> 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 <[email protected]>
> Cc: David Daney <[email protected]>
> Cc: Ralf Baechle <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
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
On 06/17/2013 02:13 PM, Andrew Morton wrote:
> On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <[email protected]> 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
On Mon, 17 Jun 2013 14:26:01 -0700 David Daney <[email protected]> wrote:
> On 06/17/2013 02:13 PM, Andrew Morton wrote:
> > On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <[email protected]> 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.
On Mon, Jun 17, 2013 at 11:38 PM, Andrew Morton
<[email protected]> 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 <[email protected]>
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 -- [email protected]
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
On 06/17/2013 02:38 PM, Andrew Morton wrote:
> On Mon, 17 Jun 2013 14:26:01 -0700 David Daney <[email protected]> wrote:
>
>> On 06/17/2013 02:13 PM, Andrew Morton wrote:
>>> On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <[email protected]> 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.
>
>
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