From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Peterson Date: Thu, 27 Aug 2020 12:45:55 -0400 (EDT) Subject: [Cluster-devel] [GFS2 PATCH 07/12] gfs2: make gfs2_ail1_empty_one return the count of active items In-Reply-To: References: <20200821173337.20377-1-rpeterso@redhat.com> <20200821173337.20377-8-rpeterso@redhat.com> Message-ID: <669703327.14508047.1598546755636.JavaMail.zimbra@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit ----- Original Message ----- > Hi Bob, > > On Fri, Aug 21, 2020 at 7:33 PM Bob Peterson wrote: > > This patch is one baby step toward simplifying the journal management. > > It simply changes function gfs2_ail1_empty_one from a void to an int and > > makes it return a count of active items. This allows the caller to check > > the return code rather than list_empty on the tr_ail1_list. This way > > we can, in a later patch, combine transaction ail1 and ail2 lists. > > what does "we can combine transaction ail1 and ail2 lists" mean? Hi Andreas, Well, I've been looking into ways we can simplify the journal logging code to give us more throughput. One way is to reduce the number of calls to lock the ail lists. Right now we lock the sd_ail_lock spin_lock when we add items to the ail1, move them from ail1 to ail2, and for processing the items on ail2. If we had one combined "ail_list" rather than two (ail1 and ail2) we wouldn't need to move items from list to list. We could instead just flag the bufdata elements (somehow--like set_bit and clear_bit) which could allow us to grab that spin_lock less often, leading to better throughput. This in turn might lead us to other simplifications. Bob Peterson