The patch titled blackfin arch: define a new cacheline_aligned attribute to put it in L1 data memory with linkscript update has been added to the -mm tree. Its filename is blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: blackfin arch: define a new cacheline_aligned attribute to put it in L1 data memory with linkscript update From: "Wu, Bryan" <bryan.wu@xxxxxxxxxx> Signed-off-by: Bryan Wu <bryan.wu@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/blackfin/Kconfig | 8 ++++++++ arch/blackfin/kernel/vmlinux.lds.S | 8 ++++++++ include/asm-blackfin/cache.h | 11 +++++++---- 3 files changed, 23 insertions(+), 4 deletions(-) diff -puN arch/blackfin/Kconfig~blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update arch/blackfin/Kconfig --- a/arch/blackfin/Kconfig~blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update +++ a/arch/blackfin/Kconfig @@ -513,6 +513,14 @@ config IP_CHECKSUM_L1 If enabled IP Checksum function is linked into L1 instruction memory.(less latency) +config CACHELINE_ALIGNED_L1 + bool "Locate cacheline_aligned data to L1 Data Memory" + default y + depends on !BF531 + help + If enabled cacheline_anligned data is linked + into L1 data memory.(less latency) + config SYSCALL_TAB_L1 bool "Locate Syscall Table L1 Data Memory" default n diff -puN arch/blackfin/kernel/vmlinux.lds.S~blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update arch/blackfin/kernel/vmlinux.lds.S --- a/arch/blackfin/kernel/vmlinux.lds.S~blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update +++ a/arch/blackfin/kernel/vmlinux.lds.S @@ -173,6 +173,9 @@ SECTIONS __sbss_l1 = .; *(.l1.bss) + . = ALIGN(32); + *(.data_l1.cacheline_aligned) + . = ALIGN(4); __ebss_l1 = .; } > l1_data_a AT > ram @@ -197,6 +200,11 @@ SECTIONS . = ALIGN(0x2000); *(.data.init_task) *(.data) + + . = ALIGN(32); + *(.data.cacheline_aligned) + + . = ALIGN(0x2000); __edata = .; } > ram diff -puN include/asm-blackfin/cache.h~blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update include/asm-blackfin/cache.h --- a/include/asm-blackfin/cache.h~blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update +++ a/include/asm-blackfin/cache.h @@ -10,13 +10,16 @@ */ #define L1_CACHE_SHIFT 5 #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) +#define SMP_CACHE_BYTES L1_CACHE_BYTES /* - * Don't make __cacheline_aligned and - * ____cacheline_aligned defined in include/linux/cache.h + * Put cacheline_aliged data to L1 data memory */ -#define __cacheline_aligned -#define ____cacheline_aligned +#ifdef CONFIG_CACHELINE_ALIGNED_L1 +#define __cacheline_aligned \ + __attribute__((__aligned__(L1_CACHE_BYTES), \ + __section__(".data_l1.cacheline_aligned"))) +#endif /* * largest L1 which this arch supports _ Patches currently in -mm which might be from bryan.wu@xxxxxxxxxx are usb-gadget-rndis-fix-struct-rndis_packet_msg_type.patch blackfin-Documentation.patch blackfin-arch.patch blackfin-arch-balance-parenthesis-in-macros.patch blackfin-arch-2.6.21-rc4-mm1-update.patch blackfin-arch-fix-struct-dmasg-packing-bug.patch blackfin-arch-cleanup-cache-header-file.patch blackfin-arch-fix-reboot-kernel-mounting-spi-flash-print-error-bug.patch blackfin-arch-fix-compiling-error-in-flat-c-file.patch blackfin-arch-power-management-replace-firmware-disk-mode.patch blackfin-arch-add-kdebug-header-file.patch blackfin-arch-fix-bug-bf561-rev-id-are-8-bit.patch blackfin-arch-fix-bug-prevent-warning-in-case-bf531-is-target.patch blackfin-arch-fix-stamp537-isp1716-irq-setting-bug.patch blackfin-arch-fix-bug-interrupt-setup-problem-request_irq.patch blackfin-arch-pnav-and-bluetechnix-cm-bf537-use-the-mac.patch blackfin-arch-always-include-linux-kallsysms-header-file.patch blackfin-arch-sync-with-uclibc-no-functional-changes.patch blackfin-arch-using-asm-generic-pgtable-header-file-by.patch blackfin-arch-add-missing-__clear_user-function-to.patch blackfin-arch-use-boot_command_line-instead-of.patch blackfin-arch-fix-some-coding-style-in-include.patch blackfin-arch-add-scm_timestampns-and-siocgstampns-to.patch blackfin-arch-define-a-new-cacheline_aligned-attribute-to-put-it-in-l1-data-memory-with-linkscript-update.patch blackfin-arch-fix-bug-asserting-gpio-requested-doesnt-make-sense-with-gpio-whole-port-accesses.patch blackfin-arch-04-and-05-silicon-doesnt-exist-for-bf534-bf536-adn-bf537-so-dont-let-people-select-the-option.patch driver_bfin_serial_core.patch driver_bfin_serial_core-update.patch blackfin-on-chip-ethernet-mac-controller-driver.patch blackfin-on-chip-ethernet-mac-controller-driver-update.patch blackfin-patch-add-blackfin-support-in-smc91x.patch blackfin-on-chip-rtc-controller-driver.patch blackfin-on-chip-rtc-controller-driver-fix-rtc_update_irq-augument.patch blackfin-blackfin-on-chip-spi-controller-driver.patch blackfin-blackfin-on-chip-spi-controller-driver-cleanup-and-coding-style-fixing.patch blackfin-blackfin-on-chip-spi-controller-driver-fix-reboot-kernel-mounting-spi-flash-print-error-bug.patch move-die-notifier-handling-to-common-code-fix.patch blackfin-blackfin-utrace-patch.patch utrace-nommu-fixup-support-utrace.patch revoke-core-code-revoke-no-revoke-for-nommu.patch revoke-core-code-generic_file_revoke-stub-for-nommu.patch vdso-print-fatal-signals-fix-compiling-error-bug-in.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html