Hi, Jonathan, Jonathan Corbet <[email protected]> writes:
> On Wed, 11 Jan 2017 15:00:29 -0800 > Andrew Morton <[email protected]> wrote: > >> hm, bit_spin_lock() is a nasty thing. It is slow and it doesn't have >> all the lockdep support. >> >> Would the world end if we added a spinlock to swap_cluster_info? > > FWIW, I asked the same question in December, this is what I got: Sorry I made a mistake in the following email. I have sent another email to correct this before from my another email address, [email protected], have you received it, copied below, From: huang ying <[email protected]> Subject: Re: [PATCH v2 2/8] mm/swap: Add cluster lock To: "Huang, Ying" <[email protected]> CC: Jonathan Corbet <[email protected]>, Tim Chen <[email protected]>, Andrew Morton <[email protected]>, <[email protected]>, "Andi Kleen" <[email protected]>, Aaron Lu <[email protected]>, <[email protected]>, LKML <[email protected]>, Hugh Dickins <[email protected]>, Shaohua Li <[email protected]>, Minchan Kim <[email protected]>, Rik van Riel <[email protected]>, Andrea Arcangeli <[email protected]>, "Kirill A . Shutemov" <[email protected]>, Vladimir Davydov <[email protected]>, Johannes Weiner <[email protected]>, Michal Hocko <[email protected]>, Hillf Danton <[email protected]> Date: Wed, 28 Dec 2016 11:34:01 +0800 (2 weeks, 21 hours, 45 minutes ago) Hi, Jonathan, On Tue, Oct 25, 2016 at 10:05 AM, Huang, Ying <[email protected]> wrote: > Hi, Jonathan, > > Thanks for review. > > Jonathan Corbet <[email protected]> writes: > >> On Thu, 20 Oct 2016 16:31:41 -0700 >> Tim Chen <[email protected]> wrote: >> >>> From: "Huang, Ying" <[email protected]> >>> >>> This patch is to reduce the lock contention of swap_info_struct->lock >>> via using a more fine grained lock in swap_cluster_info for some swap >>> operations. swap_info_struct->lock is heavily contended if multiple [...] >> The cost, of course, is the growth of this structure, but you've already >> noted that the overhead isn't all that high; seems like it could be worth >> it. > > Yes. The data structure you proposed is much easier to be used than the > current one. The main concern is the RAM usage. The size of the data > structure you proposed is about 80 bytes, while that of the current one > is about 8 bytes. There will be one struct swap_cluster_info for every > 1MB swap space, so for 1TB swap space, the total size will be 80M > compared with 8M of current implementation. Sorry, I turned on the lockdep when measure the size change, so the previous size change data is wrong. The size of the data structure you proposed is 12 bytes. While that of the current one is 8 bytes on 64 bit platform and 4 bytes on 32 bit platform. Best Regards, Huang, Ying

