Skip to contentSkip to conversation

mmotm 2011-02-04-15-15 uploaded

PATCH In review [email protected] 5 participants 12 messages Feb 4, 2011 – Feb 6, 2011

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

It contains the following patches against 2.6.38-rc3:

origin.patch
linux-next.patch
next-remove-localversion.patch
i-need-old-gcc.patch
arch-alpha-kernel-systblss-remove-debug-check.patch include-asm-generic-vmlinuxldsh-fix-__modver-section-warnings.patch ptrace-use-safer-wake-up-on-ptrace_detach.patch
drivers-gpio-pca953xc-add-a-mutex-to-fix-race-condition.patch backlight-new-driver-for-the-adp8870-backlight-devices.patch drivers-rtc-add-module_put-on-error-path-in-rtc_proc_open.patch
nbd-remove-module-level-ioctl-mutex.patch
memblock-dont-adjust-size-in-memblock_find_base.patch drivers-misc-apds9802alsc-put-the-device-into-runtime-suspend-after-resume-probe-is-handled.patch mm-vmap-area-cache.patch
agp-ensure-gart-has-an-address-before-enabling-it.patch loop-queue_lock-null-pointer-derefence-in-blk_throtl_exit-v3.patch drivers-media-video-tlg2300-pd-videoc-fix-double-mutex_unlock-in-pd_vidioc_s_fmt.patch acerhdf-add-support-for-aspire-1410-bios-v13314.patch
msm-timer-migrate-to-timer-based-__delay.patch
audit-always-follow-va_copy-with-va_end.patch
fs-btrfs-inodec-eliminate-memory-leak.patch
btrfs-dont-dereference-extent_mapping-if-null.patch cpufreq-fix-ondemand-governor-powersave_bias-execution-time-misuse.patch drivers-dma-ipu-ipu_irqc-irq_data-conversion.patch
debugfs-remove-module_exit.patch
drivers-gpu-drm-radeon-atomc-fix-warning.patch
cyber2000fb-avoid-palette-corruption-at-higher-clocks.patch
leds-convert-bd2802-driver-to-dev_pm_ops.patch
leds-convert-bd2802-driver-to-dev_pm_ops-fix.patch
leds-add-driver-for-lm3530-als.patch
leds-add-driver-for-lm3530-als-update.patch
leds-route-kbd-leds-through-the-generic-leds-layer.patch
backlight-add-backlight-type.patch
backlight-add-backlight-type-fix.patch
backlight-add-backlight-type-fix-fix.patch
i915-add-native-backlight-control.patch
radeon-expose-backlight-class-device-for-legacy-lvds-encoder.patch radeon-expose-backlight-class-device-for-legacy-lvds-encoder-update.patch nouveau-change-the-backlight-parent-device-to-the-connector-not-the-pci-dev.patch acpi-tie-acpi-backlight-devices-to-pci-devices-if-possible.patch
mbp_nvidia_bl-remove-dmi-dependency.patch
mbp_nvidia_bl-check-that-the-backlight-control-functions.patch
mbp_nvidia_bl-rename-to-apple_bl.patch
backlight-apple_bl-depends-on-acpi.patch
btusb-patch-add_apple_macbookpro62.patch
fs-ocfs2-dlm-dlmdomainc-avoid-a-gfp_atomic-allocation.patch pci-avoid-potential-null-pointer-dereference-in-pci_scan_bridge.patch drivers-message-fusion-mptsasc-fix-warning.patch
scsi-fix-a-header-to-include-linux-typesh.patch drivers-block-makefile-replace-the-use-of-module-objs-with-module-y.patch drivers-block-aoe-makefile-replace-the-use-of-module-objs-with-module-y.patch cciss-make-cciss_revalidate-not-loop-through-ciss_max_luns-volumes-unnecessarily.patch loop-queue_lock-null-pointer-derefence-in-blk_throtl_exit.patch
drbd-fix-warning.patch
usb-yurex-recognize-generalkeys-wireless-presenter-as-generic-hid.patch
mm.patch
mm-compaction-check-migrate_pagess-return-value-instead-of-list_empty.patch mm-numa-aware-alloc_task_struct_node.patch
mm-numa-aware-alloc_thread_info_node.patch
kthread-numa-aware-kthread_create_on_cpu.patch
kthread-use-kthread_create_on_cpu.patch
oom-suppress-nodes-that-are-not-allowed-from-meminfo-on-oom-kill.patch oom-suppress-show_mem-for-many-nodes-in-irq-context-on-page-alloc-failure.patch oom-suppress-nodes-that-are-not-allowed-from-meminfo-on-page-alloc-failure.patch mm-notifier_from_errno-cleanup.patch
mm-remove-unused-token-argument-from-apply_to_page_range-callback.patch
mm-add-apply_to_page_range_batch.patch
ioremap-use-apply_to_page_range_batch-for-ioremap_page_range.patch
vmalloc-use-plain-pte_clear-for-unmaps.patch
vmalloc-use-apply_to_page_range_batch-for-vunmap_page_range.patch vmalloc-use-apply_to_page_range_batch-for-vmap_page_range_noflush.patch vmalloc-use-apply_to_page_range_batch-in-alloc_vm_area.patch xen-mmu-use-apply_to_page_range_batch-in-xen_remap_domain_mfn_range.patch xen-grant-table-use-apply_to_page_range_batch.patch
mm-allow-gup-to-fail-instead-of-waiting-on-a-page.patch mm-allow-gup-to-fail-instead-of-waiting-on-a-page-fix.patch
mm-add-replace_page_cache_page-function.patch
memsw-remove-noswapaccount-kernel-parameter.patch
xattrh-expose-string-defines-to-userspace.patch
frv-duplicate-output_buffer-of-e03.patch
frv-duplicate-output_buffer-of-e03-checkpatch-fixes.patch
hpet-factor-timer-allocate-from-open.patch
arch-alpha-include-asm-ioh-s-extern-inline-static-inline.patch uml-kernels-on-i386x86_64-produce-bad-coredumps.patch add-the-common-dma_addr_t-typedef-to-include-linux-typesh.patch
fs-use-appropriate-printk-priority-level.patch
bh1780gli-convert-to-dev-pm-ops.patch
drivers-misc-bmp085c-free-initmem-memory.patch
move-x86-specific-oops=panic-to-generic-code.patch include-linux-errh-add-a-function-to-cast-error-pointers-to-a-return-value.patch smp-move-smp-setup-functions-to-kernel-smpc.patch
kernel-cpuc-fix-many-errors-related-to-style.patch
kernel-cpuc-fix-many-errors-related-to-style-fix.patch
llist-add-kconfig-option-arch_have_nmi_safe_cmpxchg.patch llist-lib-add-lock-less-null-terminated-single-list.patch
llist-irq_work-use-llist-in-irq_work.patch
llist-net-rds-replace-xlist-in-net-rds-xlisth-with-llist.patch
net-convert-%p-usage-to-%pk.patch
vsprintf-neaten-%pk-kptr_restrict-save-a-bit-of-code-space.patch console-allow-to-retain-boot-console-via-boot-option-keep_bootcon.patch console-prevent-registered-consoles-from-dumping-old-kernel-message-over-again.patch printk-allow-setting-default_message_level-via-kconfig.patch
vfs-ignore-error-on-forced-remount.patch
vfs-keep-list-of-mounts-for-each-superblock.patch
vfs-protect-remounting-superblock-read-only.patch vfs-fs_may_remount_ro-turn-unnecessary-check-into-a-warn_on.patch
fs-ioctlc-remove-unnecessary-variable.patch
get_maintainerpl-allow-k-pattern-tests-to-match-non-patch-text.patch sigma-firmware-loader-for-analog-devices-sigmastudio.patch sigma-firmware-loader-for-analog-devices-sigmastudio-v2.patch
drivers-mmc-host-omapc-use-resource_size.patch
drivers-mmc-host-omap_hsmmcc-use-resource_size.patch
scripts-checkpatchpl-reset-rpt_cleaners-warnings.patch
select-remove-unused-max_select_seconds.patch
epoll-move-ready-event-check-into-proper-inline.patch epoll-fix-compiler-warning-and-optimize-the-non-blocking-path.patch epoll-fix-compiler-warning-and-optimize-the-non-blocking-path-fix.patch binfmt_elf-quiet-gcc-46-set-but-not-used-warning-in-load_elf_binary.patch lib-hexdumpc-make-hex2bin-return-the-updated-src-address.patch fs-binfmt_miscc-use-kernels-hex_to_bin-method.patch
fs-binfmt_miscc-use-kernels-hex_to_bin-method-fix.patch fs-binfmt_miscc-use-kernels-hex_to_bin-method-fix-fix.patch
init-return-proper-error-code-in-do_mounts_rd.patch rtc-add-support-for-the-rtc-in-via-vt8500-and-compatibles.patch rtc-add-real-time-clock-driver-for-nvidia-tegra.patch
gpio-add-new-altera-pio-driver.patch
gpio-make-gpio_requestfree_array-gpio-array-parameter-const.patch pnp-only-assign-ioresource_dma-if-config_isa_dma_api-is-enabled.patch x86-only-compile-8237a-if-config_isa_dma_api-is-enabled.patch x86-only-compile-floppy-driver-if-config_isa_dma_api-is-enabled.patch x86-allow-config_isa_dma_api-to-be-disabled.patch
jbd-remove-dependency-on-__gfp_nofail.patch
cgroup-remove-the-ns_cgroup.patch
memcg-res_counter_read_u64-fix-potential-races-on-32-bit-machines.patch memcg-fix-ugly-initialization-of-return-value-is-in-caller.patch memcg-soft-limit-reclaim-should-end-at-limit-not-below.patch memcg-simplify-the-way-memory-limits-are-checked.patch
memcg-remove-unused-page-flag-bitfield-defines.patch
memcg-remove-impossible-conditional-when-committing.patch memcg-remove-null-check-from-lookup_page_cgroup-result.patch memcg-add-memcg-sanity-checks-at-allocating-and-freeing-pages.patch memcg-add-memcg-sanity-checks-at-allocating-and-freeing-pages-update.patch memcg-no-uncharged-pages-reach-page_cgroup_zoneinfo.patch
memcg-change-page_cgroup_zoneinfo-signature.patch
memcg-fold-__mem_cgroup_move_account-into-caller.patch
memcg-condense-page_cgroup-to-page-lookup-points.patch
memcg-remove-direct-page_cgroup-to-page-pointer.patch
memcg-remove-direct-page_cgroup-to-page-pointer-fix.patch exec_domain-establish-a-linux32-domain-on-config_compat-systems.patch
drivers-char-add-msm-smd_pkt-driver.patch drivers-char-bfin_jtag_commc-avoid-calling-put_tty_driver-on-null.patch
rapidio-add-new-sysfs-attributes.patch
rapidio-add-rapidio-documentation.patch
fs-execc-provide-the-correct-process-pid-to-the-pipe-helper.patch taskstats-use-appropriate-printk-priority-level.patch kernel-gcov-makefile-use-proper-ccflag-flag-in-makefile.patch
remove-dma64_addr_t.patch
adfs-fix-e-f-dir-size-2048-crashing-kernel.patch
adfs-improve-timestamp-precision.patch
adfs-add-hexadecimal-filetype-suffix-option.patch
adfs-remove-the-big-kernel-lock.patch
scatterlist-new-helper-functions.patch
memstick-add-driver-for-ricoh-r5c592-card-reader.patch
memstick-add-support-for-legacy-memorysticks.patch
memstick-add-support-for-legacy-memorysticks-update.patch memstick-add-alex-dubov-to-maintainers-of-the-memstick-core.patch drivers-w1-masters-omap_hdqc-add-missing-clk_put.patch crash_dump-export-is_kdump_kernel-to-modules-consolidate-elfcorehdr_addr-setup_elfcorehdr-and-saved_max_pfn.patch crash_dump-export-is_kdump_kernel-to-modules-consolidate-elfcorehdr_addr-setup_elfcorehdr-and-saved_max_pfn-fix.patch crash_dump-export-is_kdump_kernel-to-modules-consolidate-elfcorehdr_addr-setup_elfcorehdr-and-saved_max_pfn-fix-fix.patch kexec-remove-kmsg_dump_kexec.patch fs-devpts-inodec-correctly-check-d_alloc_name-return-code-in-devpts_pty_new.patch kvm-stop-including-asm-generic-bitops-leh-directly.patch rds-stop-including-asm-generic-bitops-leh-directly.patch bitops-merge-little-and-big-endian-definisions-in-asm-generic-bitops-leh.patch asm-generic-rename-generic-little-endian-bitops-functions.patch asm-generic-change-little-endian-bitops-to-take-any-pointer-types.patch asm-generic-change-little-endian-bitops-to-take-any-pointer-types-convert-little-endian-bitops-macros-to-static-inline-functions.patch powerpc-introduce-little-endian-bitops.patch powerpc-introduce-little-endian-bitops-convert-little-endian-bitops-macros-to-static-inline-functions.patch s390-introduce-little-endian-bitops.patch s390-introduce-little-endian-bitops-convert-little-endian-bitops-macros-to-static-inline-functions.patch arm-introduce-little-endian-bitops.patch arm-introduce-little-endian-bitops-convert-little-endian-bitops-macros-to-static-inline-functions.patch m68k-introduce-little-endian-bitops.patch m68k-introduce-little-endian-bitops-convert-little-endian-bitops-macros-to-static-inline-functions.patch bitops-introduce-config_generic_find_bit_le.patch
m68knommu-introduce-little-endian-bitops.patch m68knommu-introduce-little-endian-bitops-convert-little-endian-bitops-macros-to-static-inline-functions.patch bitops-introduce-little-endian-bitops-for-most-architectures.patch
asm-generic-use-little-endian-bitops.patch
kvm-use-little-endian-bitops.patch
rds-use-little-endian-bitops.patch
ext3-use-little-endian-bitops.patch
ext4-use-little-endian-bitops.patch
ocfs2-use-little-endian-bitops.patch
nilfs2-use-little-endian-bitops.patch
reiserfs-use-little-endian-bitops.patch
udf-use-little-endian-bitops.patch
ufs-use-little-endian-bitops.patch
md-use-little-endian-bitops.patch
dm-use-little-endian-bitops.patch
bitops-remove-ext2-non-atomic-bitops-from-asm-bitopsh.patch m68k-remove-inline-asm-from-minix_find_first_zero_bit.patch
bitops-remove-minix-bitops-from-asm-bitopsh.patch
make-sure-nobodys-leaking-resources.patch
journal_add_journal_head-debug.patch
releasing-resources-with-children.patch
make-frame_pointer-default=y.patch
mutex-subsystem-synchro-test-module.patch
mutex-subsystem-synchro-test-module-add-missing-header-file.patch
slab-leaks3-default-y.patch
put_bh-debug.patch
add-debugging-aid-for-memory-initialisation-problems.patch
workaround-for-a-pci-restoring-bug.patch
prio_tree-debugging-patch.patch
single_open-seq_release-leak-diagnostics.patch
add-a-refcount-check-in-dput.patch
memblock-add-input-size-checking-to-memblock_find_region.patch memblock-add-input-size-checking-to-memblock_find_region-fix.patch

#1 lore raw

Re: mmotm 2011-02-04-15-15 uploaded (printk DEFAULT_MESSAGE_LOGLEVEL)

Quoted 9 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

It contains the following patches against 2.6.38-rc3:

When CONFIG_PRINTK is not enabled:

mmotm-2011-0204-1515/kernel/printk.c:66: error: 'CONFIG_DEFAULT_MESSAGE_LOGLEVEL' undeclared here (not in a function)

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#2 lore raw
In reply to [email protected]

Hi Andrew,

Quoted 8 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

Just an FYI (origin is the above git repo):

$ git remote update origin
Fetching origin
fatal: read error: Connection reset by peer
error: Could not fetch origin

Also, I create a similar git tree myself and two of the patches would not import using "git am" due to missing "From:" lines:

drivers-gpio-pca953xc-add-a-mutex-to-fix-race-condition.patch memcg-remove-direct-page_cgroup-to-page-pointer-fix.patch

Signature · 3 lines
Cheers,
Stephen Rothwell                    [email protected]
http://www.canb.auug.org.au/~sfr/
author maintainer
#3 lore raw
Quoted 10 lines · On Sat, 5 Feb 2011 13:34:50 +1100 Stephen Rothwell <[email protected]> wrote:

Hi Andrew,

Quoted 7 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

Quoted 8 lines
Quoted 1 line

git://zen-kernel.org/kernel/mmotm.git

Just an FYI (origin is the above git repo):

$ git remote update origin
Fetching origin
fatal: read error: Connection reset by peer
error: Could not fetch origin

Yes, that's been dead for a while and James isn't responding to email.

Quoted 5 lines

Also, I create a similar git tree myself and two of the patches would not import using "git am" due to missing "From:" lines:

drivers-gpio-pca953xc-add-a-mutex-to-fix-race-condition.patch memcg-remove-direct-page_cgroup-to-page-pointer-fix.patch

Thanks, I fixed those up.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#4 lore raw
Quoted 14 lines · Andrew Morton
Quoted 12 lines · On Sat, 5 Feb 2011 13:34:50 +1100 Stephen Rothwell <[email protected]> wrote:

Hi Andrew,

Quoted 8 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

Quoted 8 lines
Quoted 6 lines

Just an FYI (origin is the above git repo):

$ git remote update origin
Fetching origin
fatal: read error: Connection reset by peer
error: Could not fetch origin

Yes, that's been dead for a while and James isn't responding to email.

I created an automated tree for myself a while ago. It has been working fine for the last few -mmotm snapshots:

http://git.cmpxchg.org/?p=linux-mmotm.git;a=summary

Feel free to use that and let me know if something is not right.

Quoted 2 lines
Quoted 2 lines

Also, I create a similar git tree myself and two of the patches would not import using "git am" due to missing "From:" lines:

I use git-quiltimport with the --author flag to generate my tree, such patches will fall back to

author mmotm auto import <[email protected]>

IIRC I added that for origin.patch and linux-next.patch, which never carried From: lines.

Hannes

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#5 lore raw
Quoted 19 lines · Johannes Weiner
Quoted 18 lines · Andrew Morton
Quoted 16 lines · On Sat, 5 Feb 2011 13:34:50 +1100 Stephen Rothwell <[email protected]> wrote:
Quoted 8 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

Just an FYI (origin is the above git repo):

$ git remote update origin
Fetching origin
fatal: read error: Connection reset by peer
error: Could not fetch origin
Quoted 8 lines
Quoted 1 line

Yes, that's been dead for a while and James isn't responding to email.

I created an automated tree for myself a while ago. It has been working fine for the last few -mmotm snapshots:

http://git.cmpxchg.org/?p=linux-mmotm.git;a=summary

Feel free to use that and let me know if something is not right.

Here is the script I use for tree generation, btw:

---
#!/bin/bash

set -e

cd dirname $0
CWD="pwd"

TAR="broken-out.tar.gz"
URL="http://kernel.org/~akpm/mmotm/$TAR"
TREE_PRIVATE="$CWD/linux-2.6"
TREE_PUBLIC="/pub/git/linux-mmotm.git"

mtime()

{
    stat --printf='%Y' "$@"
}

prepare()

{
    if [ -f "$TAR" ]
    then
	ORG="`mtime $TAR`"
	wget -qN "$URL"
	[ "$ORG" = "`mtime $TAR`" ] && exit 0
    else
	wget -q "$URL"
    fi

    rm -rf broken-out
    tar -xf "$TAR"
    mv .DATE* series broken-out/

    # fix empty binary hunks so git will eat them
    sed -i '/^Binary files.*differ/d' broken-out/*.patch
}

[ "$1" = "-r" ] || prepare

LTAG="vsed -n 2p broken-out/.DATE"
ATAG="$LTAG-mmotm-sed -n 1p broken-out/.DATE"

cd "$TREE_PRIVATE"
git fetch --tags
git reset --quiet --hard "$LTAG"
git clean --quiet -fdx
rm -rf .git/rebase-apply
git quiltimport --author "mmotm auto import <[email protected]>" --patches "$CWD/broken-out" git tag -f "$ATAG"
git push --force "$TREE_PUBLIC" --tags
git push --force "$TREE_PUBLIC" --all

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#6 lore raw

Re: mmotm 2011-02-04-15-15 uploaded (page_cgroup.h)

In reply to [email protected]
Quoted 9 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

It contains the following patches against 2.6.38-rc3:

Lots of these warnings in some kernel configs:

mmotm-2011-0204-1515/include/linux/page_cgroup.h:144: warning: left shift count >= width of type mmotm-2011-0204-1515/include/linux/page_cgroup.h:145: warning: left shift count >= width of type mmotm-2011-0204-1515/include/linux/page_cgroup.h:150: warning: right shift count >= width of type

One such config file is attached.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#7 lore raw

PATCH 1/1 memcg: remove direct page_cgroup-to-page pointer fix

Quoted 10 lines · Randy Dunlap
Quoted 8 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

Quoted 8 lines
Quoted 1 line

It contains the following patches against 2.6.38-rc3:

Lots of these warnings in some kernel configs:

mmotm-2011-0204-1515/include/linux/page_cgroup.h:144: warning: left shift count >= width of type mmotm-2011-0204-1515/include/linux/page_cgroup.h:145: warning: left shift count >= width of type mmotm-2011-0204-1515/include/linux/page_cgroup.h:150: warning: right shift count >= width of type

Thanks for the report, Randy, and sorry for the breakage. Here is the fixup:

---
Since the non-flags field for pc array ids in pc->flags is offset from the end of the word, we end up with a shift count of BITS_PER_LONG in case the field width is zero.

This results in a compiler warning as we shift in both directions a long int by BITS_PER_LONG.

There is no real harm -- the mask is zero -- but fix up the compiler warning by also making the shift count zero for a non-existant field.

---

include/linux/page_cgroup.h +13 -8
index 05d8618..f5de21d 100644
@@ -123,31 +123,36 @@ static inline void move_unlock_page_cgroup(struct page_cgroup *pc,
 }
 
 #ifdef CONFIG_SPARSEMEM
-#define PCG_ARRAYID_SHIFT	SECTIONS_SHIFT
+#define PCG_ARRAYID_WIDTH	SECTIONS_SHIFT
 #else
-#define PCG_ARRAYID_SHIFT	NODES_SHIFT
+#define PCG_ARRAYID_WIDTH	NODES_SHIFT
 #endif
 
-#if (PCG_ARRAYID_SHIFT > BITS_PER_LONG - NR_PCG_FLAGS)
+#if (PCG_ARRAYID_WIDTH > BITS_PER_LONG - NR_PCG_FLAGS)
 #error Not enough space left in pc->flags to store page_cgroup array IDs
 #endif
 
 /* pc->flags: ARRAY-ID | FLAGS */
 
-#define PCG_ARRAYID_MASK	((1UL << PCG_ARRAYID_SHIFT) - 1)
+#define PCG_ARRAYID_MASK	((1UL << PCG_ARRAYID_WIDTH) - 1)
 
-#define PCG_ARRAYID_OFFSET	(sizeof(unsigned long) * 8 - PCG_ARRAYID_SHIFT)
+#define PCG_ARRAYID_OFFSET	(BITS_PER_LONG - PCG_ARRAYID_WIDTH)
+/*
+ * Zero the shift count for non-existant fields, to prevent compiler
+ * warnings and ensure references are optimized away.
+ */
+#define PCG_ARRAYID_SHIFT	(PCG_ARRAYID_OFFSET * (PCG_ARRAYID_WIDTH != 0))
 
 static inline void set_page_cgroup_array_id(struct page_cgroup *pc,
 					    unsigned long id)
 {
-	pc->flags &= ~(PCG_ARRAYID_MASK << PCG_ARRAYID_OFFSET);
-	pc->flags |= (id & PCG_ARRAYID_MASK) << PCG_ARRAYID_OFFSET;
+	pc->flags &= ~(PCG_ARRAYID_MASK << PCG_ARRAYID_SHIFT);
+	pc->flags |= (id & PCG_ARRAYID_MASK) << PCG_ARRAYID_SHIFT;
 }
 
 static inline unsigned long page_cgroup_array_id(struct page_cgroup *pc)
 {
-	return (pc->flags >> PCG_ARRAYID_OFFSET) & PCG_ARRAYID_MASK;
+	return (pc->flags >> PCG_ARRAYID_SHIFT) & PCG_ARRAYID_MASK;
 }
 
 #else /* CONFIG_CGROUP_MEM_RES_CTLR */

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

Acked-by on v1 1/1
#8 lore raw

Re: [patch fixup] memcg: remove direct page_cgroup-to-page pointer fix

Quoted 31 lines · Johannes Weiner
Quoted 10 lines · Randy Dunlap
Quoted 8 lines · On Fri, 04 Feb 2011 15:15:17 -0800 [email protected] wrote:

The mm-of-the-moment snapshot 2011-02-04-15-15 has been uploaded to

http://userweb.kernel.org/~akpm/mmotm/

and will soon be available at

git://zen-kernel.org/kernel/mmotm.git

Quoted 8 lines
Quoted 1 line

It contains the following patches against 2.6.38-rc3:

Lots of these warnings in some kernel configs:

mmotm-2011-0204-1515/include/linux/page_cgroup.h:144: warning: left shift count >= width of type mmotm-2011-0204-1515/include/linux/page_cgroup.h:145: warning: left shift count >= width of type mmotm-2011-0204-1515/include/linux/page_cgroup.h:150: warning: right shift count >= width of type

Thanks for the report, Randy, and sorry for the breakage. Here is the fixup:

---
Since the non-flags field for pc array ids in pc->flags is offset from the end of the word, we end up with a shift count of BITS_PER_LONG in case the field width is zero.

This results in a compiler warning as we shift in both directions a long int by BITS_PER_LONG.

Quoted 6 lines

There is no real harm -- the mask is zero -- but fix up the compiler warning by also making the shift count zero for a non-existant field.

---

Thanks.

Signature · 9 lines
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
#9 lore raw

PATCH 1/1 staging/easycap: fix build when SND is not enabled

In reply to [email protected]

From: Randy Dunlap <[email protected]>

Fix easycap build when CONFIG_SOUND is enabled but CONFIG_SND is not enabled.

These functions are only built when CONFIG_SND is enabled, so the driver should depend on SND.
This means that having SND enabled is required for the (obsolete) EASYCAP_OSS config option.

drivers/built-in.o: In function `easycap_usb_disconnect':
easycap_main.c:(.text+0x2aba20): undefined reference to snd_card_free' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b784b): undefined reference to snd_card_create' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b78fb): undefined reference to snd_pcm_new' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b7916): undefined reference to snd_pcm_set_ops' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b795b): undefined reference to snd_card_register' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b79d8): undefined reference to snd_card_free' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b7a78): undefined reference to snd_card_free' drivers/built-in.o: In function easycap_alsa_complete':
(.text+0x2b7e68): undefined reference to snd_pcm_period_elapsed' drivers/built-in.o:(.data+0x2cae8): undefined reference to snd_pcm_lib_ioctl'

---
 drivers/staging/easycap/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/easycap/Kconfig +1 -1
@@ -1,6 +1,6 @@
 config EASYCAP
 	tristate "EasyCAP USB ID 05e1:0408 support"
-	depends on USB && VIDEO_DEV && SOUND
+	depends on USB && VIDEO_DEV && SND
 
 	---help---
 	  This is an integrated audio/video driver for EasyCAP cards with

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#10 lore raw

Re: [PATCH -mmotm] staging/easycap: fix build when SND is not enabled

Quoted 9 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

Fix easycap build when CONFIG_SOUND is enabled but CONFIG_SND is not enabled.

These functions are only built when CONFIG_SND is enabled, so the driver should depend on SND.
This means that having SND enabled is required for the (obsolete) EASYCAP_OSS config option.

Actually SND enabled is needed when EASYCAP_OSS is NOT set. I'm not sure, though how to force it in Kconfig,
I didn't want to use choice ALSA, OSS as the OSS will be removed later.

Unfortunately I cannot do something like
if EASYCAP_OSS == n
select SND
endif

I will try to come with proper fix

Thanks
Tomas

Quoted 33 lines

drivers/built-in.o: In function `easycap_usb_disconnect':
easycap_main.c:(.text+0x2aba20): undefined reference to snd_card_free' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b784b): undefined reference to snd_card_create' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b78fb): undefined reference to snd_pcm_new' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b7916): undefined reference to snd_pcm_set_ops' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b795b): undefined reference to snd_card_register' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b79d8): undefined reference to snd_card_free' drivers/built-in.o: In function easycap_alsa_probe':
(.text+0x2b7a78): undefined reference to snd_card_free' drivers/built-in.o: In function easycap_alsa_complete':
(.text+0x2b7e68): undefined reference to snd_pcm_period_elapsed' drivers/built-in.o:(.data+0x2cae8): undefined reference to snd_pcm_lib_ioctl'

---
 drivers/staging/easycap/Kconfig |    2 +-

 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/easycap/Kconfig +0 -0
@@ -1,6 +1,6 @@

 config EASYCAP
       tristate "EasyCAP USB ID 05e1:0408 support"
-       depends on USB && VIDEO_DEV && SOUND
+       depends on USB && VIDEO_DEV && SND

Quoted 7 lines

       ---help---
         This is an integrated audio/video driver for EasyCAP cards with
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#11 lore raw

Re: [PATCH -mmotm] staging/easycap: fix build when SND is not enabled

Quoted 6 lines · On Sun, 6 Feb 2011 09:25:28 +0200 Tomas Winkler wrote:
Quoted 5 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

Fix easycap build when CONFIG_SOUND is enabled but CONFIG_SND is not enabled.

Quoted 6 lines
Quoted 4 lines

These functions are only built when CONFIG_SND is enabled, so the driver should depend on SND.
This means that having SND enabled is required for the (obsolete) EASYCAP_OSS config option.

Actually SND enabled is needed when EASYCAP_OSS is NOT set.

I suspected that might be the case.

Quoted 7 lines

I'm not sure, though how to force it in Kconfig,
I didn't want to use choice ALSA, OSS as the OSS will be removed later.

Unfortunately I cannot do something like
if EASYCAP_OSS == n
select SND
endif

You can do
select SND if !EASYCAP_OSS
but that may be too late or in the wrong location.

Quoted 1 line

I will try to come with proper fix

Thanks.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>