All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] dm: use revalidate_disk to update device size after set_capacity
From: Jun'ichi Nomura @ 2010-10-20  5:42 UTC (permalink / raw)
  To: device-mapper development, Mike Snitzer
In-Reply-To: <20101019220711.GA25169@redhat.com>

Hi Mike,

(10/20/10 07:07), Mike Snitzer wrote:
> Avoid taking md->bdev->bd_inode->i_mutex to update the DM block device's
> size.  Doing so eliminates the potential for deadlock if an fsync is
> racing with a device resize.
> 
> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
> ---
>  drivers/md/dm.c |    5 +----
>  1 files changed, 1 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/md/dm.c b/drivers/md/dm.c
> index f934e98..fd315a7 100644
> --- a/drivers/md/dm.c
> +++ b/drivers/md/dm.c
> @@ -1995,10 +1995,7 @@ static void event_callback(void *context)
>  static void __set_size(struct mapped_device *md, sector_t size)
>  {
>  	set_capacity(md->disk, size);
> -
> -	mutex_lock(&md->bdev->bd_inode->i_mutex);
> -	i_size_write(md->bdev->bd_inode, (loff_t)size << SECTOR_SHIFT);
> -	mutex_unlock(&md->bdev->bd_inode->i_mutex);
> +	revalidate_disk(md->disk);
>  }

Some concerns/questions:

- revalidate_disk() calls bdget() inside it.
  Does bdget() no longer block on I/O?
  Sometime ago, bdget() has been blocked by I_LOCK,
  where process holding I_LOCK blocked by resize.
  Since I_LOCK has disappeared, I suspect this might not
  be a valid concern anymore.
  FYI, past discussion on this topic:
  http://www.redhat.com/archives/dm-devel/2007-October/msg00134.html
  (it's not my intention to push the patch in the above URL)

- revalidate_disk() ends up with get_super():
    revalidate_disk
      check_disk_size_change
        flush_disk
          __invalidate_device
            get_super
  and get_super() takes sb->s_umount.
  OTOH, there are codes which wait on I/O holding s_umount
  exclusively. E.g. freeze_super() calls sync_filesystem().
  So it seems there is a possible deadlock if you use
  revalidate_disk from dm_swap_table.

I've been away from that part of the code for a while.
So it's nice if the above is just a false alarm...

Thanks,
-- 
Jun'ichi Nomura, NEC Corporation

^ permalink raw reply

* [Bug 22576] [KMS] mesa demo spectex broken on rv280
From: bugzilla-daemon @ 2010-10-20  5:42 UTC (permalink / raw)
  To: dri-devel
In-Reply-To: <bug-22576-502@http.bugs.freedesktop.org/>

https://bugs.freedesktop.org/show_bug.cgi?id=22576

--- Comment #15 from Andrew Randrianasulu <randrik@mail.ru> 2010-10-19 22:42:16 PDT ---
(In reply to comment #14)
> This could be fixed in mesa master and 7.9 branch:
> http://lists.freedesktop.org/archives/mesa-dev/2010-October/003492.html

It still broken, but in slightly different way:

sphere has few horizontal black stripes now. I'll add screenshot.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply

* [Bug 29171] Garbled console on Macbook 13" (6, 1 9400M]) when using EFI
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2010-10-20  5:39 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
In-Reply-To: <bug-29171-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>

https://bugs.freedesktop.org/show_bug.cgi?id=29171

--- Comment #25 from Ben Skeggs <skeggsb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2010-10-19 22:39:02 PDT ---
The issues on MacBooks + EFI (which is all this bug is covering) may be fixed
in current nouveau git.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply

* [U-Boot] facing issue in compiling latest u-boot for P1020RDB(powerpc)
From: Jain Priyanka-B32167 @ 2010-10-20  5:38 UTC (permalink / raw)
  To: u-boot

Hi,


I have cloned u-boot code (latest commit-id is
1ba91ba23396005ef7b42381cc21f0baf78d0d60) and trying to build P1020RDB.

But it fails.

 

Error log as follows:

 

bash-2.05a$ make P1020RDB_config

Generating include/autoconf.mk

Generating include/autoconf.mk.dep

Configuring for P1020RDB - Board: P1_P2_RDB, Options: P1020RDB

sed: -e expression #1, char 16: Extra characters after command

make: *** [P1020RDB_config] Error 1

bash-2.05a$

 

 

By looking at git log, I can observe that there are some changes in
Makefile and boards.cfg file.

Is there is any change in config options for building power pc boards
like P1020RDB, P2020RDB?

 

Thanks

Priyanka

^ permalink raw reply

* [Bug 29367] [KMS]  Assertion `boi->space_accounted' failed. on rv280
From: bugzilla-daemon @ 2010-10-20  5:38 UTC (permalink / raw)
  To: dri-devel
In-Reply-To: <bug-29367-502@http.bugs.freedesktop.org/>

https://bugs.freedesktop.org/show_bug.cgi?id=29367

Andrew Randrianasulu <randrik@mail.ru> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #7 from Andrew Randrianasulu <randrik@mail.ru> 2010-10-19 22:38:38 PDT ---
Yes, fixed for me in mesa master.

Using mesa - commit 974fb466f299fc569a86097936ab89c8c369f6d2
Author: Chad Versace <chad.versace@intel.com>
Date:   Fri Oct 15 14:46:00 2010 -0700
    glsl: Commit generated file glsl_lexer.cpp
    Changes are due to commit "glsl: Fix lexer rule for ^=".


libdrm - commit 09b1062628f2cbddb3ebae20e7b3b8a0a93acebf
Author: Francisco Jerez <currojerez@riseup.net>
Date:   Tue Sep 28 22:45:27 2010 +0200
    nouveau: Let the user choose the push buffer size.
    Signed-off-by: Francisco Jerez <currojerez@riseup.net>
    Acked-by: Ben Skeggs <bskeggs@redhat.com>

xf86-video-ati - commit 0921ecc1c751df0dd56e0b1d0b78ab53d7164904
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Mon Oct 4 12:34:47 2010 -0400
    evergreen: use EXACreatePixmap2 if available 

plus build patch for new xserver (should update, build issue  fixed in  newer
git)

xserver - commit 853d7ebfa3e2d281d92890a39010ff5787a00ffd
Author: Adam Jackson <ajax@redhat.com>
Date:   Tue Oct 5 11:24:28 2010 -0400
    vbe: Fix copying the mode info block
    Just use memcpy, seriously.

    Reviewed-by: Rémi Cardona <remi@gentoo.org>
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

kernel - 
commit 8fd01d6cfbf75465d84a4e533ed70c5f57b3ff51
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Oct 14 19:15:28 2010 -0700
    Export dump_{write,seek} to binary loader modules
    If you build aout support as a module, you'll want these exported.
    Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(basically 2.6.36-rc8 + 1 commit)

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply

* [U-Boot] [PATCH v2] arm926ejs, suen3: fix relocation issues
From: Prafulla Wadaskar @ 2010-10-20  5:37 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1287475723-19639-1-git-send-email-hs@denx.de>

 

> -----Original Message-----
> From: Heiko Schocher [mailto:hs at denx.de] 
> Sent: Tuesday, October 19, 2010 1:39 PM
> To: u-boot at lists.denx.de
> Cc: Heiko Schocher; Prafulla Wadaskar
> Subject: [PATCH v2] arm926ejs, suen3: fix relocation issues
> 
> - use internal 2k security SRAM as RAM for early stack.
> - do early inits in board_init_f()
> 
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Cc: Prafulla Wadaskar <prafulla@marvell.com>
> 
> ---
> changes since v1:
> - Add comment from Prafulla Wadaskar, no "1" needed if defining
>   CONFIG_BOARD_EARLY_INIT_F
> 
>  board/keymile/km_arm/km_arm.c |   24 +++++++++++++++---------
>  include/configs/km_arm.h      |    6 ++++--
>  2 files changed, 19 insertions(+), 11 deletions(-)

Ack

Regards..
Prafulla . .

^ permalink raw reply

* Re: [PATCH 2/2] sysctl: remove sysctl syscall
From: Cong Wang @ 2010-10-20  5:41 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Andreas Schwab, linux-kernel, Randy Dunlap, Mauro Carvalho Chehab,
	Len Brown, Ingo Molnar, Andrew Morton, David Howells, Eric Paris,
	Peter Zijlstra, Eric W. Biederman, Eric Dumazet, David S. Miller,
	Andy Shevchenko, linux-doc
In-Reply-To: <4CBDB3B0.8080605@linux.intel.com>

On 10/19/10 23:05, Andi Kleen wrote:
> On 10/19/2010 4:10 PM, Andreas Schwab wrote:
>>> On 10/19/2010 10:22 AM, Amerigo Wang wrote:
>>>> Remove the obsolete sysctl syscall. It was scheduled
>>>> to be removed in Sept.
>>>
>>> I thought at least older glibc was still using it? Did anyone check
>>> what happens if it sees no sysctl(2)?
>> It will fall back reading from /proc/sys.
>
> First that's slow (but ok), but that will fail if there is no /proc.
>

I strongly doubt glibc will work if there is no /proc,
a quick grep shows lots of "/proc" strings in glibc code.

^ permalink raw reply

* Re: multilink with nodetach [PATCH]
From: Stephen Marron @ 2010-10-20  5:35 UTC (permalink / raw)
  To: linux-ppp

*Bump* :)

Is there any chance of the below patch making it in to mainline?

Im happy to test it in any specific scenarios that someone might have
concerns with... or if further explanation is nessicary im happy to
answer any questions that you might have?

Regards

Stephen

On 24/08/10 18:25, Stephen Marron wrote:
> Hi
> 
> This bug has been Reported in the Debian BTS as bug 538107
> 
> 	http://bugs.debian.org/578070
> 
> If pppd is used with l2tpd (nodetach) in a multilink situation then this
> feature of pppd causes problems
> 
> 	MULTILINK
> 	If the first link terminates (for example, because of  a
> 	hangup or  a received  LCP  terminate-request)  the  bundle  is
> 	not destroyed unless there are no other links remaining in the
> 	bundle.  Rather than exiting, the first pppd keeps running
> 	after its link terminates, until all the links in the bundle
> 	have terminated.
> 
> pppd remains connected to l2tpd even though it is just acting as a
> multilink master, causing l2tpd to believe that pppd is connected... i
> have resolved the issue in my own system by instructing pppd to detach
> from the terminal after it changes to PHASE_MASTER i have been using
> this patch since 2009-02-19 in our production systems and havent had any
> problems
> 
> The "if (!detached)" call is redundant since the detach function already
> checks if the process is detached so can be optionally excluded
> 
> I have noticed other people complaining of similar issues when using
> multilink/nodetach in other setups (eg pppoe) I believe that this patch
> may also solve the problem for them, but i have not tested that setup
> 
> -----
> diff --git a/pppd/auth.c b/pppd/auth.c
> index fb71944..62648b8 100644
> --- a/pppd/auth.c
> +++ b/pppd/auth.c
> @@ -669,8 +669,11 @@ link_terminated(unit)
>         (*the_channel->cleanup)();
> 
>      if (doing_multilink && multilink_master) {
> -       if (!bundle_terminating)
> +       if (!bundle_terminating) {
>             new_phase(PHASE_MASTER);
> +           if (!detached)
> +               detach();
> +       }
>         else
>             mp_bundle_terminated();
>      } else
> -----
> 
> feedback is appreciated :)
> 
> Regards
> 
> Stephen

^ permalink raw reply

* [U-Boot] [Patch v3 5/7] Setup POST word for generic mpc85xx
From: Kumar Gala @ 2010-10-20  5:33 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1285712437-6719-5-git-send-email-yorksun@freescale.com>


On Sep 28, 2010, at 5:20 PM, York Sun wrote:

> Using PIC TFRR register for post word load/store for generic MPC85xx.
> 
> Signed-off-by: York Sun <yorksun@freescale.com>
> ---
> arch/powerpc/cpu/mpc85xx/cpu.c |   19 +++++++++++++++++++
> 1 files changed, 19 insertions(+), 0 deletions(-)

applied to 85xx

- k

^ permalink raw reply

* [U-Boot] [Patch v3 3/7] Add memory test feature for mpc85xx POST.
From: Kumar Gala @ 2010-10-20  5:32 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1285712437-6719-3-git-send-email-yorksun@freescale.com>


On Sep 28, 2010, at 5:20 PM, York Sun wrote:

> The memory test is performed after DDR initialization when U-boot stills runs
> in flash and cache. On recent mpc85xx platforms, the total memory can be more
> than 2GB. To cover whole memory, it needs be mapped 2GB at a time using a
> sliding TLB window. After the testing, DDR is remapped with up to 2GB memory
> from the lowest address as normal.
> 
> If memory test fails, DDR DIMM SPD and DDR controller registers are dumped for
> further debugging.
> 
> Signed-off-by: York Sun <yorksun@freescale.com>
> ---
> arch/powerpc/cpu/mpc85xx/cpu.c |  219 ++++++++++++++++++++++++++++++++++++++++
> doc/README.fsl-ddr             |   14 +++
> 2 files changed, 233 insertions(+), 0 deletions(-)

applied to 85xx

- k

^ permalink raw reply

* [U-Boot] [Patch v3 4/7] Fix address for POST for 85xx with CPM
From: Kumar Gala @ 2010-10-20  5:31 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1285712437-6719-4-git-send-email-yorksun@freescale.com>


On Sep 28, 2010, at 5:20 PM, York Sun wrote:

> The address used for post_word_load and post_word_store is in the dual port
> RAM for processors with CPM.
> 
> Signed-off-by: York Sun <yorksun@freescale.com>
> ---
> arch/powerpc/cpu/mpc85xx/commproc.c |    8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)

The following commit removes post_word_{load,store} from this file:

commit 800eb09641ae67c707b65acff112684a954b7f44
Author: Michael Zaidman <michael.zaidman@gmail.com>
Date:   Mon Sep 20 08:51:53 2010 +0200

    POST cleanup.
    
    - Revives POST for blackfin arch;
    - Removes redundant code:
         arch/blackfin/lib/post.c
         arch/powerpc/cpu/ppc4xx/commproc.c
         arch/powerpc/cpu/mpc512x/common.c
    - fixes up the post_word_{load|store} usage.
   
So dropping this patch for now.

- k

^ permalink raw reply

* Re:
From: Michal Simek @ 2010-10-20  5:31 UTC (permalink / raw)
  To: microblaze-uclinux; +Cc: nacc, linuxppc-dev, miltonm
In-Reply-To: <1287422825-14999-2-git-send-email-nacc@us.ibm.com>

Nishanth Aravamudan wrote:
> Use set_dma_ops and remove now used-once oddly named temp pointer sd.
> 
> Signed-off-by: Milton Miller <miltonm@bga.com>
> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> Cc: benh@kernel.crashing.org
> Cc: linuxppc-dev@lists.ozlabs.org
> ---

Maybe I forget to write you that this patch is already applied.
http://git.monstr.eu/git/gitweb.cgi?p=linux-2.6-microblaze.git;a=commit;h=9a6df6cbfd903b6d9b4b1021f46d78601adfac77


Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian

^ permalink raw reply

* Re: [PATCH v3 11/11] memcg: check memcg dirty limits in page writeback
From: Daisuke Nishimura @ 2010-10-20  5:25 UTC (permalink / raw)
  To: Greg Thelen
  Cc: Andrew Morton, linux-kernel, linux-mm, containers, Andrea Righi,
	Balbir Singh, KAMEZAWA Hiroyuki, Minchan Kim, Ciju Rajan K,
	David Rientjes, Daisuke Nishimura
In-Reply-To: <1287448784-25684-12-git-send-email-gthelen@google.com>

On Mon, 18 Oct 2010 17:39:44 -0700
Greg Thelen <gthelen@google.com> wrote:

> If the current process is in a non-root memcg, then
> global_dirty_limits() will consider the memcg dirty limit.
> This allows different cgroups to have distinct dirty limits
> which trigger direct and background writeback at different
> levels.
> 
> Signed-off-by: Andrea Righi <arighi@develer.com>
> Signed-off-by: Greg Thelen <gthelen@google.com>

Reviewed-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>

^ permalink raw reply

* [U-Boot] [PATCH 2/2] powerpc/8xxx: Add fdt_fixup_phy_connection helper
From: Kumar Gala @ 2010-10-20  5:26 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1285856311-7471-2-git-send-email-galak@kernel.crashing.org>


On Sep 30, 2010, at 9:18 AM, Kumar Gala wrote:

> Add a common helper that will set the PHY connection type based on enum.
> We use this on eTSEC, UCC, and will with Fman in the future.
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> arch/powerpc/cpu/mpc8xxx/fdt.c            |   24 ++++++++++++++++++++++++
> arch/powerpc/include/asm/fsl_enet.h       |    2 ++
> board/freescale/mpc8360emds/mpc8360emds.c |   15 ++++++---------
> board/freescale/mpc837xemds/mpc837xemds.c |    8 ++++----
> board/freescale/mpc8569mds/mpc8569mds.c   |    4 ++--
> 5 files changed, 38 insertions(+), 15 deletions(-)

applied to 85xx, hopes that's not an issue Ben.

- k

^ permalink raw reply

* [U-Boot] [PATCH 1/2] powerpc/fsl: Introduce common enum for PHY types
From: Kumar Gala @ 2010-10-20  5:26 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1285856311-7471-1-git-send-email-galak@kernel.crashing.org>


On Sep 30, 2010, at 9:18 AM, Kumar Gala wrote:

> Have a common enum for phy types that we use in the UCC driver.  We will
> also use this enum for dealing with phy connection fixup in the device
> tree.
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> arch/powerpc/include/asm/fsl_enet.h |   31 +++++++++++++++++++++++++++++++
> drivers/qe/uec.c                    |   10 +++++-----
> drivers/qe/uec.h                    |   20 +++-----------------
> drivers/qe/uec_phy.c                |    8 ++++----
> 4 files changed, 43 insertions(+), 26 deletions(-)
> create mode 100644 arch/powerpc/include/asm/fsl_enet.h

applied to 85xx, hopes that's not an issue Ben.

- k

^ permalink raw reply

* Re: [PATCH v3 11/11] memcg: check memcg dirty limits in page writeback
From: Daisuke Nishimura @ 2010-10-20  5:25 UTC (permalink / raw)
  To: Greg Thelen
  Cc: Andrew Morton, linux-kernel, linux-mm, containers, Andrea Righi,
	Balbir Singh, KAMEZAWA Hiroyuki, Minchan Kim, Ciju Rajan K,
	David Rientjes, Daisuke Nishimura
In-Reply-To: <1287448784-25684-12-git-send-email-gthelen@google.com>

On Mon, 18 Oct 2010 17:39:44 -0700
Greg Thelen <gthelen@google.com> wrote:

> If the current process is in a non-root memcg, then
> global_dirty_limits() will consider the memcg dirty limit.
> This allows different cgroups to have distinct dirty limits
> which trigger direct and background writeback at different
> levels.
> 
> Signed-off-by: Andrea Righi <arighi@develer.com>
> Signed-off-by: Greg Thelen <gthelen@google.com>

Reviewed-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* [U-Boot] [Patch v3 2/7] Adding more control to physical address mapping
From: Kumar Gala @ 2010-10-20  5:25 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1285712437-6719-2-git-send-email-yorksun@freescale.com>


On Sep 28, 2010, at 5:20 PM, York Sun wrote:

> A worker function setup_ddr_tlbs_phys() is introduced to implement more
> control on physical address mapping.
> 
> Signed-off-by: York Sun <yorksun@freescale.com>
> ---
> arch/powerpc/cpu/mpc85xx/tlb.c |   16 ++++++++++------
> 1 files changed, 10 insertions(+), 6 deletions(-)

applied to 85xx

- k

^ permalink raw reply

* [U-Boot] [PATCH] always relocate fdt into an lmb-allocated memory block
From: Kumar Gala @ 2010-10-20  5:25 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <1274731825-10169-1-git-send-email-timur@freescale.com>


On May 24, 2010, at 3:10 PM, Timur Tabi wrote:

> The device tree (fdt) must always exist in within the bootmap (usually the
> first 16MB of RAM).  If it doesn't, then boot_relocate_fdt() will allocate an
> LMB region in the bootmap and copy the fdt into that region.  It will also
> increase the size of the fdt.
> 
> If the fdt is already in the bootmap, then previously the memory was just
> reserved.  There was no contingency if the reservation failed, however.
> 
> By always allocating an lmb region and copying/resizing the fdt into that
> region, the code is simplified and the memory region is always allocated
> properly.
> 
> Also change the types of some variables to avoid some typecasts.
> 
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
> common/image.c |   83 +++++++++++++++++++-------------------------------------
> 1 files changed, 28 insertions(+), 55 deletions(-)

applied to 85xx

- k

^ permalink raw reply

* Re: [PATCH 1/2] drivers:staging:ti-st: move TI_ST from staging
From: Andrew Morton @ 2010-10-20  5:22 UTC (permalink / raw)
  To: pavan_savoy; +Cc: gregkh, linux-kernel, alan, devel
In-Reply-To: <1286381895-11329-2-git-send-email-pavan_savoy@ti.com>

On Wed,  6 Oct 2010 12:18:14 -0400 pavan_savoy@ti.com wrote:

> +/**
> + * st_reg_complete -
> + * to call registration complete callbacks
> + * of all protocol stack drivers
> + */
> +void st_reg_complete(struct st_data_s *st_gdata, char err)

The driver has a lot of "kerneldoc" comments which are incomplete -
they don't document the arguments.


^ permalink raw reply

* [U-Boot] [PATCH v2] drivers/net/fec_mxc.c: write mac address ininit
From: Liu Hui-R64343 @ 2010-10-20  5:21 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <20101019212744.D408B1359B7@gemini.denx.de>

Hi, John & Wolfgang, 

> -----Original Message-----
> From: u-boot-bounces at lists.denx.de
[mailto:u-boot-bounces at lists.denx.de]
> On Behalf Of Wolfgang Denk
> Sent: Wednesday, October 20, 2010 5:28 AM
> To: John Rigby
> Cc: u-boot at lists.denx.de; Ben Warren
> Subject: Re: [U-Boot] [PATCH v2] drivers/net/fec_mxc.c: write mac
address
> ininit
> 
> Dear John Rigby,
> 
> In message <1287001868-22244-1-git-send-email-john.rigby@linaro.org>
you
> wrote:
> > Call fec_set_hwaddr in init routine to setup MAC address so when
> ethaddr is set
> > late via setenv the change will propagate to the hw.
> >
> > Signed-off-by: John Rigby <john.rigby@linaro.org>
> > CC: Ben Warren <biggerbadderben@gmail.com>
> > ---
> > v2 - add blank line as requested
> >      better commit message
> >      added CC
> >  drivers/net/fec_mxc.c |    3 +++
> >  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> Applied, thanks.
> 
> Ben, I hope this is OK with you.

In fact, I don't think it's a good fix to fec-mac-address-not-set issue,
it's just a hack. This is the output from bootup log,

Warning: FEC MAC addresses don't match:
Address in SROM is         75:6e:20:62:6f:6f
Address in environment is  00:01:02:04:05:06

It will give one confused warning that the FEC MAC has been set in the
SROM, but actually, this the float value which induced by this patch.

In fact, we need read the mac address from FUSE(IIM), all the MAC
address has burned into fuse after the chip has been shipped out.

I will send out one patch to fix this issue soon. 

> 
> Best regards,
> 
> Wolfgang Denk
> 
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> There are three ways to get something  done:  do  it  yourself,  hire
> someone, or forbid your kids to do it.
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply

* linux-next: Tree for October 20
From: Stephen Rothwell @ 2010-10-20  5:20 UTC (permalink / raw)
  To: linux-next; +Cc: LKML

[-- Attachment #1: Type: text/plain, Size: 11700 bytes --]

Hi all,

Changes since 20101019:

The arm tree lost its conflicts.

The s5p tree lost its merge fix patch.

The v4l-dvb tree still has a build failure for which I applied a patch.

The drm tree lost its conflict.

The security-testing tree lost its build failure but gained another for
which I applied a patch.

The tip tree lost its build failure.

The swiotlb-xen tree gained a conflict against the pci tree.

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/v2.6/next/ ).  If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one.  You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).

You can see which trees have been included by looking in the Next/Trees
file in the source.  There are also quilt-import.log and merge.log files
in the Next directory.  Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.

Below is a summary of the state of the merge.

We are up to 176 trees (counting Linus' and 22 trees of patches pending
for Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next .  If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Randy Dunlap for doing many randconfig builds.

There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ .  Thanks to Frank Seidel.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

$ git checkout master
$ git reset --hard stable
Merging origin/master
Merging fixes/fixes
Merging arm-current/master
Merging m68k-current/for-linus
Merging powerpc-merge/merge
Merging sparc-current/master
Merging scsi-rc-fixes/master
Merging net-current/master
Merging sound-current/for-linus
Merging pci-current/for-linus
Merging wireless-current/master
Merging kbuild-current/rc-fixes
Merging quilt/driver-core.current
Merging quilt/tty.current
Merging quilt/usb.current
Merging quilt/staging.current
Merging cpufreq-current/fixes
Merging input-current/for-linus
Merging md-current/for-linus
Merging audit-current/for-linus
Merging crypto-current/master
Merging ide-curent/master
Merging dwmw2/master
Merging gcl-current/merge
Merging arm/devel
Merging davinci/davinci-next
Merging i.MX/for-next
Merging msm/for-next
Merging omap/for-next
Merging pxa/for-next
Merging samsung/next-samsung
Merging s5p/for-next
Merging tegra/for-next
Merging avr32/avr32-arch
Merging blackfin/for-linus
Merging cris/for-next
Merging ia64/test
Merging m68k/for-next
Merging m68knommu/for-next
Merging microblaze/next
Merging mips/mips-for-linux-next
Merging parisc/next
Merging powerpc/next
Merging 4xx/next
Merging 52xx-and-virtex/next
Merging galak/next
Merging s390/features
Merging sh/master
Merging genesis/master
Merging sparc/master
Merging tile/master
Merging xtensa/master
CONFLICT (content): Merge conflict in arch/xtensa/configs/iss_defconfig
Merging ceph/for-next
Merging cifs/master
Merging configfs/linux-next
Merging ecryptfs/next
Merging ext3/for_next
Merging ext4/next
Merging fatfs/master
Merging fuse/for-next
Merging gfs2/master
Merging hfsplus/for-next
Merging jfs/next
Merging logfs/master
CONFLICT (content): Merge conflict in fs/logfs/logfs.h
Merging nfs/linux-next
Merging nfsd/nfsd-next
Merging nilfs2/for-next
Merging ocfs2/linux-next
Merging omfs/for-next
Merging squashfs/master
Merging udf/for_next
Merging v9fs/for-next
Merging ubifs/linux-next
Merging xfs/master
Merging vfs/for-next
Merging pci/linux-next
Merging hid/for-next
Merging quilt/i2c
Merging bjdooks-i2c/next-i2c
Merging quilt/jdelvare-hwmon
Merging hwmon-staging/hwmon-next
Merging quilt/kernel-doc
Merging v4l-dvb/master
Applying: v4l-dvb: using vmalloc needs vmalloc.h in cx231xx-417.c
Merging kbuild/for-next
Merging kconfig/for-next
Merging ide/master
Merging libata/NEXT
Merging infiniband/for-next
Merging acpi/test
Merging idle-test/idle-test
Merging ieee1394/for-next
Merging ubi/linux-next
Merging kvm/linux-next
Merging dlm/next
Merging swiotlb/master
Merging ibft/master
Merging scsi/master
Merging async_tx/next
Merging net/master
CONFLICT (content): Merge conflict in Documentation/feature-removal-schedule.txt
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-zoom-peripherals.c
CONFLICT (delete/modify): drivers/ieee1394/eth1394.c deleted in HEAD and modified in net/master. Version net/master of drivers/ieee1394/eth1394.c left in tree.
$ git rm -f drivers/ieee1394/eth1394.c
Merging wireless/master
Merging bluetooth/master
Merging mtd/master
Merging crypto/master
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/devices.c
Merging sound/for-next
CONFLICT (content): Merge conflict in arch/arm/mach-s3c64xx/dev-audio.c
CONFLICT (content): Merge conflict in drivers/video/sh_mobile_hdmi.c
Merging sound-asoc/for-next
Merging cpufreq/next
Merging quilt/rr
Merging input/next
CONFLICT (content): Merge conflict in drivers/input/keyboard/Kconfig
Merging lsm/for-next
Merging block/for-next
CONFLICT (content): Merge conflict in fs/ext4/mballoc.c
Applying: ext4: merge fix for blkdev_issue_zeroout API change
Merging quilt/device-mapper
Merging embedded/master
Merging firmware/master
Merging pcmcia/master
CONFLICT (content): Merge conflict in drivers/net/pcmcia/smc91c92_cs.c
Merging battery/master
Merging leds/for-mm
Merging backlight/for-mm
Merging mmc/mmc-next
Merging kgdb/kgdb-next
CONFLICT (content): Merge conflict in drivers/char/sysrq.c
Merging slab/for-next
Merging uclinux/for-next
Merging md/for-next
Merging mfd/for-next
CONFLICT (content): Merge conflict in drivers/mfd/sh_mobile_sdhi.c
Merging hdlc/hdlc-next
Merging drm/drm-next
Merging viafb/viafb-next
Merging voltage/for-next
Merging security-testing/next
Merging lblnet/master
Merging agp/agp-next
Merging uwb/for-upstream
Merging watchdog/master
Merging bdev/master
Merging dwmw2-iommu/master
Merging cputime/cputime
Merging osd/linux-next
Merging jc_docs/docs-next
Merging nommu/master
Merging trivial/for-next
CONFLICT (content): Merge conflict in net/irda/irnet/irnet_ppp.c
Merging audit/for-next
Merging quilt/aoe
Merging suspend/linux-next
Merging fsnotify/for-next
Merging irda/for-next
Merging catalin/for-next
CONFLICT (content): Merge conflict in arch/arm/kernel/Makefile
CONFLICT (content): Merge conflict in arch/arm/mach-vexpress/ct-ca9x4.c
CONFLICT (content): Merge conflict in arch/arm/mm/flush.c
Merging alacrity/linux-next
CONFLICT (content): Merge conflict in include/linux/Kbuild
Merging i7core_edac/linux_next
CONFLICT (content): Merge conflict in MAINTAINERS
Merging i7300_edac/linux_next
Merging devicetree/next-devicetree
Merging spi/next-spi
CONFLICT (content): Merge conflict in drivers/spi/Kconfig
CONFLICT (content): Merge conflict in drivers/spi/Makefile
Merging omap_dss2/for-next
Merging tip/auto-latest
CONFLICT (content): Merge conflict in arch/powerpc/kernel/time.c
CONFLICT (content): Merge conflict in arch/sh/kernel/perf_event.c
CONFLICT (content): Merge conflict in include/linux/percpu.h
CONFLICT (content): Merge conflict in net/core/dev.c
Merging rcu/rcu/next
Merging oprofile/for-next
Merging xen/upstream/xen
Merging swiotlb-xen/master
CONFLICT (content): Merge conflict in drivers/pci/Makefile
Merging edac-amd/for-next
Merging percpu/for-next
CONFLICT (content): Merge conflict in include/linux/percpu.h
CONFLICT (content): Merge conflict in mm/percpu.c
Merging workqueues/for-next
CONFLICT (content): Merge conflict in fs/gfs2/main.c
Merging sfi/sfi-test
Merging asm-generic/next
Merging drivers-x86/linux-next
Merging hwpoison/hwpoison
Merging sysctl/master
Merging quilt/driver-core
CONFLICT (content): Merge conflict in drivers/misc/Makefile
Merging quilt/tty
Merging quilt/usb
CONFLICT (content): Merge conflict in drivers/usb/gadget/rndis.c
CONFLICT (content): Merge conflict in drivers/usb/host/Kconfig
CONFLICT (content): Merge conflict in drivers/usb/host/Makefile
Applying: scsi/sd: update for hw_sector_size rename
Merging staging-next/staging-next
CONFLICT (rename/modify): Merge conflict in drivers/misc/ti-st/st_core.c
CONFLICT (rename/modify): Merge conflict in drivers/misc/ti-st/st_kim.c
CONFLICT (content): Merge conflict in arch/arm/plat-omap/devices.c
CONFLICT (content): Merge conflict in drivers/misc/Makefile
CONFLICT (content): Merge conflict in drivers/staging/Makefile
CONFLICT (content): Merge conflict in drivers/staging/batman-adv/hard-interface.c
CONFLICT (content): Merge conflict in drivers/staging/cx25821/cx25821-audio-upstream.c
CONFLICT (content): Merge conflict in drivers/staging/cx25821/cx25821-audio.h
CONFLICT (delete/modify): drivers/staging/mrst-touchscreen/Makefile deleted in HEAD and modified in staging-next/staging-next. Version staging-next/staging-next of drivers/staging/mrst-touchscreen/Makefile left in tree.
CONFLICT (delete/modify): drivers/staging/mrst-touchscreen/intel-mid-touch.c deleted in HEAD and modified in staging-next/staging-next. Version staging-next/staging-next of drivers/staging/mrst-touchscreen/intel-mid-touch.c left in tree.
CONFLICT (delete/modify): drivers/staging/ti-st/st.h deleted in staging-next/staging-next and modified in HEAD. Version HEAD of drivers/staging/ti-st/st.h left in tree.
CONFLICT (delete/modify): drivers/staging/ti-st/st_core.h deleted in staging-next/staging-next and modified in HEAD. Version HEAD of drivers/staging/ti-st/st_core.h left in tree.
$ git rm -f drivers/staging/mrst-touchscreen/Makefile drivers/staging/mrst-touchscreen/intel-mid-touch.c
$ git rm -f drivers/staging/ti-st/st.h drivers/staging/ti-st/st_core.h
Applying: staging: ath6kl: Fixing the driver to use modified mmc_host structure
Merging slabh/slabh
Merging bkl-trivial/trivial
CONFLICT (content): Merge conflict in drivers/block/ataflop.c
CONFLICT (content): Merge conflict in drivers/char/pcmcia/cm4000_cs.c
CONFLICT (content): Merge conflict in drivers/char/pcmcia/cm4040_cs.c
CONFLICT (content): Merge conflict in drivers/mmc/card/block.c
Merging bkl-llseek/llseek
CONFLICT (content): Merge conflict in drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath9k/debug.c
Applying: ath9k: fix up for .llseek fop change
Merging bkl-vfs/vfs
CONFLICT (content): Merge conflict in fs/cifs/cifsfs.c
CONFLICT (content): Merge conflict in fs/nilfs2/super.c
Merging bkl-config/config
CONFLICT (content): Merge conflict in fs/compat_ioctl.c
Merging irqflags/master
Merging cleancache/linux-next
CONFLICT (content): Merge conflict in include/linux/fs.h
CONFLICT (content): Merge conflict in mm/Kconfig
Merging scsi-post-merge/merge-base:master
Applying: selinux: include vmalloc.h for vmalloc_user

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: Old patches sent via the Mailing list
From: Sven Barth @ 2010-10-20  5:19 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Andy Walls, LMML, Igor M. Liplianin, Manu Abraham,
	Jean-Francois Moine, Jarod Wilson, Richard Zidlicky,
	Antti Palosaari, Patrick Boettcher, Guennadi Liakhovetski,
	Henrik Kurelid, Hans de Goede
In-Reply-To: <4CBBE5F6.6030201@redhat.com>

Am 18.10.2010 08:15, schrieb Mauro Carvalho Chehab:
> Em 17-10-2010 21:36, Andy Walls escreveu:
>> On Sun, 2010-10-17 at 19:20 -0200, Mauro Carvalho Chehab wrote:
>>> Hi,
>>>
>>> I did a large effort during this weekend to handle the maximum amount of patches, in order to have them
>>> ready for 2.6.37. While there are still some patches marked as NEW at patchwork, and a few pending pull
>>> requests (mostly related to more kABI changes), there are still a list of patches that are marked as
>>> Under review. Except for 4 patches from me, related to Doc (that I'm keeping in this list just to remind
>>> me that I'll need to fix them when I have some time - just some automation stuff at DocBook), all other
>>> patches marked as Under review are stuff that I basically depend on others.
>>>
>>> The last time I sent this list, I was about to travel, and I may have missed some comments, or maybe I
>>> may just forgot to update. But I suspect that, for the list bellow, most of them are stuff where the
>>> driver maintainer just forgot at limbo.
>>>
>>> > From the list of patches under review, we have:
>>>
>>> Waiting for new patch, signed, from Sven Barth<pascaldragon@googlemail.com>
>>>    Apr,25 2010: Problem with cx25840 and Terratec Grabster AV400                       http://patchwork.kernel.org/patch/94960   Sven Barth<pascaldragon@googlemail.com>
>>
>> Sven,
>>
>> We need a "Signed-off-by: " for your submitted patch:
>>
>> http://www.linuxtv.org/wiki/index.php/Development:_Submitting_Patches#Sign_your_work
>>
>> Note, your patch has an obvious, unintentional white space change for
>> "if (std == V4L2_STD_NTSC_M_JP)", so could you fix that up and send a
>> new signed off version?
>>
>>
>> Mauro,
>>
>> This patch makes obvious sense to me: don't perform audio register
>> updates on a chip that doesn't have an audio processing block.  Sven's
>> approach was based on my recommended approach, after his initial
>> discovery on how to get his audio working.
>>
>> Do we really need an S.O.B for something that appears to be common
>> sense, and wouldn't have been implemented any other way, even if I had
>> implemented it?
>
> The original patch were in the middle of a discussion, no proper description,
> bad whitespacing, etc. It is better to let the patch author to fix those issues,
> as they learn more about how to submit a patch.
>
> Anyway, I agree with you, the patch is obvious, and can proceed without the SOB.
> I did the usual CodingStyle fixups, put part of your above comment as the patch
> description, together with your ack and moved it forward. One patch less on my queue ;)
>
> Cheers,
> Mauro

Eh... I thought I had superseeded it with the patch from 10th July (mail 
title: [PATCH] Add support for AUX_PLL on cx2583x chips). It included a 
"Signed-of by" from me as well as "Acked by" from Mike and Andy and I 
also excluded the whitespace change ^^

Regards,
Sven

^ permalink raw reply

* Re: [PATCH 1/2]percpu: introduce read mostly percpu API
From: Eric Dumazet @ 2010-10-20  5:18 UTC (permalink / raw)
  To: Shaohua Li; +Cc: lkml, Ingo Molnar, hpa@zytor.com, Andi Kleen, Chen, Tim C
In-Reply-To: <1287544022.4571.7.camel@sli10-conroe.sh.intel.com>

Le mercredi 20 octobre 2010 à 11:07 +0800, Shaohua Li a écrit :
> Add a new readmostly percpu section and api, next patch will use it.
> 
> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> ---


Could you precisely describe why grouping together read mostly percpu
variables is a win ? Especially when you add in your next patch a single
variable ?

>  include/asm-generic/vmlinux.lds.h |    4 ++++
>  include/linux/percpu-defs.h       |    9 +++++++++
>  2 files changed, 13 insertions(+)
> 
> Index: linux/include/asm-generic/vmlinux.lds.h
> ===================================================================
> --- linux.orig/include/asm-generic/vmlinux.lds.h	2010-10-20 09:32:52.000000000 +0800
> +++ linux/include/asm-generic/vmlinux.lds.h	2010-10-20 10:03:38.000000000 +0800
> @@ -677,6 +677,8 @@
>  				- LOAD_OFFSET) {			\
>  		VMLINUX_SYMBOL(__per_cpu_start) = .;			\
>  		*(.data..percpu..first)					\
> +		. = ALIGN(PAGE_SIZE);					\
> +		*(.data..percpu..readmostly)				\
>  		*(.data..percpu..page_aligned)				\
>  		*(.data..percpu)					\
>  		*(.data..percpu..shared_aligned)			\

So percpu..page_aligned is not any more aligned to a PAGE ? or we have a
big hole before it ? Hmm....

Maybe you should put first data..percpu..page_aligned, then align to one
cache line (L1_CACHE_BYTES), then data..percpu..readmostly, so that hole
is small.

We should take care of not introducing too much holes in percpu zone.
Maybe using a new subzone ".data..percpu..small_objects" to put small
objects in it.

nm -v vmlinux | grep -10 sockets_in_use   # select one random part 

0000000000011e0c d cpu_min_freq
0000000000011e10 d cpu_cur_freq
0000000000011e14 d cpu_set_freq
0000000000011e18 d cpu_is_managed
0000000000011e20 d od_cpu_dbs_info
0000000000011fa0 d cs_cpu_dbs_info
00000000000120f0 d cpufreq_show_table
0000000000012100 D cpuidle_devices
0000000000012120 d ladder_devices
0000000000012200 d menu_devices       
00000000000122c0 d sockets_in_use     # object_size = 4 , hole = 28bytes
00000000000122e0 d prot_inuse         
00000000000123e0 D nf_conntrack_untracked
0000000000012560 d rt_cache_stat
00000000000125a0 d ipv4_cookie_scratch
0000000000012740 D init_tss
0000000000014a00 D irq_stat
0000000000014a40 D cpu_info
0000000000014b00 d hv_clock
0000000000014b40 D cpu_tlbstate
0000000000014b80 d runqueues

We can see many holes because of 2^5 alignments of
individual .o  .data..percpu sections.

find . -name "*.o"|xargs objdump -h|grep percpu

Linker promotes a section alignment from natural alignment to 2^5 as
soon as the size reaches 2^5

For example in net/ipv4/route.o, we have a per_cpu structure
(rt_cache_stat), that is an array of 16 integers. The natural alignement
should be 4 (alignof(int)), but we get :

# objdump -h net/ipv4/route.o|grep percpu
 19 .data..percpu 00000040  0000000000000000  0000000000000000  00007a80  2**5

For a section replicated N times, this really is a concern.

Thanks !



^ permalink raw reply

* [U-Boot] [RFC/PATCH] Makefile: allow boards to check file size limits
From: Mike Frysinger @ 2010-10-20  5:16 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <AANLkTimcki1vN0Hy5tXixytNaWYQkrgKfO=i9wM4GTch@mail.gmail.com>

On Wednesday, October 20, 2010 00:38:08 Vaibhav Bedia wrote:

please do not top post

> The size of other sections like the bss section also need to be accounted
> for when doing a size check.

that really cannot be checked at compile time.  it certainly cannot be done 
easily or with a few lines of shell code.

> Insufficient space for bss when doing something like a MMC read which
> requires large buffers causes system hangs for no apparent reason.

that doesnt make much sense.  bss is statically allocated.  either it exists, 
or it doesnt.  if bss doesnt work, your system/build is fundamentally screwed.  
either way, none of this is related to my patch.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20101020/19afb5c9/attachment.pgp 

^ permalink raw reply

* Re: [PATCH 2/2]x86: spread tlb flush vector between nodes
From: Eric Dumazet @ 2010-10-20  5:16 UTC (permalink / raw)
  To: Shaohua Li; +Cc: lkml, Ingo Molnar, hpa@zytor.com, Andi Kleen, Chen, Tim C
In-Reply-To: <1287544023.4571.8.camel@sli10-conroe.sh.intel.com>

Le mercredi 20 octobre 2010 à 11:07 +0800, Shaohua Li a écrit :
> Currently flush tlb vector allocation is based on below equation:
> 	sender = smp_processor_id() % 8
> This isn't optimal, CPUs from different node can have the same vector, this
> causes a lot of lock contention. Instead, we can assign the same vectors to
> CPUs from the same node, while different node has different vectors. This has
> below advantages:
> a. if there is lock contention, the lock contention is between CPUs from one
> node. This should be much cheaper than the contention between nodes.
> b. completely avoid lock contention between nodes. This especially benefits
> kswapd, which is the biggest user of tlb flush, since kswapd sets its affinity
> to specific node.
> 
> In my test, this could reduce > 20% CPU overhead in extreme case.The test
> machine has 4 nodes and each node has 16 CPUs. I then bind each node's kswapd
> to the first CPU of the node. I run a workload with 4 sequential mmap file
> read thread. The files are empty sparse file. This workload will trigger a
> lot of page reclaim and tlbflush. The kswapd bind is to easy trigger the
> extreme tlb flush lock contention because otherwise kswapd keeps migrating
> between CPUs of a node and I can't get stable result. Sure in real workload,
> we can't always see so big tlb flush lock contention, but it's possible.
> 
> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> ---
>  arch/x86/mm/tlb.c |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 47 insertions(+), 1 deletion(-)
> 
> Index: linux/arch/x86/mm/tlb.c
> ===================================================================
> --- linux.orig/arch/x86/mm/tlb.c	2010-10-20 10:07:53.000000000 +0800
> +++ linux/arch/x86/mm/tlb.c	2010-10-20 10:09:26.000000000 +0800
> @@ -5,6 +5,7 @@
>  #include <linux/smp.h>
>  #include <linux/interrupt.h>
>  #include <linux/module.h>
> +#include <linux/cpu.h>
>  
>  #include <asm/tlbflush.h>
>  #include <asm/mmu_context.h>
> @@ -52,6 +53,8 @@ union smp_flush_state {
>     want false sharing in the per cpu data segment. */
>  static union smp_flush_state flush_state[NUM_INVALIDATE_TLB_VECTORS];
>  
> +static DEFINE_PER_CPU_READ_MOSTLY(int, tlb_vector_offset);
> +
>  /*
>   * We cannot call mmdrop() because we are in interrupt context,
>   * instead update mm->cpu_vm_mask.
> @@ -173,7 +176,7 @@ static void flush_tlb_others_ipi(const s
>  	union smp_flush_state *f;
>  
>  	/* Caller has disabled preemption */
> -	sender = smp_processor_id() % NUM_INVALIDATE_TLB_VECTORS;
> +	sender = per_cpu(tlb_vector_offset, smp_processor_id());

	sender = this_cpu_read(tlb_vector_offset);

>  	f = &flush_state[sender];
>  
>  	/*
> @@ -218,6 +221,47 @@ void native_flush_tlb_others(const struc
>  	flush_tlb_others_ipi(cpumask, mm, va);
>  }
>  


Thats a pretty good patch, thanks !

Maybe we should have a per_node memory infrastructure, so that we can
lower memory needs of currently per_cpu objects.




^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.