From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89149CF9C71 for ; Wed, 25 Sep 2024 02:04:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1E80E6B008A; Tue, 24 Sep 2024 22:04:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 171616B008C; Tue, 24 Sep 2024 22:04:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 012FB6B0092; Tue, 24 Sep 2024 22:04:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id D4E906B008A for ; Tue, 24 Sep 2024 22:04:39 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5C1B91C5E53 for ; Wed, 25 Sep 2024 02:04:39 +0000 (UTC) X-FDA: 82601616678.25.370458D Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by imf26.hostedemail.com (Postfix) with ESMTP id 6709F140005 for ; Wed, 25 Sep 2024 02:04:37 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CcmVyV+U; spf=pass (imf26.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.167.54 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727229758; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UBgutzjDfOgDhfPJb/VqZ+KjGDGotu18ULGDFcekRCk=; b=S2s74SOBv9Gfy860ZtiEfFnGBlgGHsKT2nykMk+P4wr1f+R3VSAHcIJiYpWRiE+HJkIhSh 1GFVVt6c/PaDy5lzgYPA/YHnaFsue+OGwEmQA73wVLScmGkInBO7iSj9TJ61h/54gRKoSC WVinog5AYl5cDkvU1KDDz3E7ixEhUZk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727229758; a=rsa-sha256; cv=none; b=l6ltHF1AgFp3q1wtcIWEdmE2ip7W3FrDz0pO+WMHVBms3+X3y9N6vd7iMD715piB60+zep jDNvVCzqI2nRJvgZ/QbKru946JTnYYFjU7eN50R3wmlg/uL/V1Y7sMnq6CVHutF94s7WN5 Pzh4GDfX7Eirf95UhrT+FNPnCIUB1vg= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CcmVyV+U; spf=pass (imf26.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.167.54 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5365cc68efaso1949183e87.1 for ; Tue, 24 Sep 2024 19:04:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727229875; x=1727834675; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=UBgutzjDfOgDhfPJb/VqZ+KjGDGotu18ULGDFcekRCk=; b=CcmVyV+UkeZ54VGWfUkdl77fT4DNSuSV9k30hmSm/elUfBONhX3S43vlaZH04Rl5WO bMQGQ1JHW6fOudZZlHfbcnzTub8d/vaEWaZa8/PnEkdumrM3sQB4G8E3DGhP9XIGW/Hw v+YBGcvGa3Vi254SatTVrNBJn1Y8pFN1yPJR3fKcm7XWsMQ5xfxwpCuyRixHBdXwPPZs 1x66KQWRAq8U4EHome3hzyUGr3YyhCxfofBPilR/dILUWC6ZEc18ItDnD/lz9s7O8y9k YcH+OMPmGJltoNiBXVgmMlhSSyFffN6ypLS6QcCPdDPzwhAiXDMIA3QPoM9XLsBoUVaA up5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727229875; x=1727834675; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UBgutzjDfOgDhfPJb/VqZ+KjGDGotu18ULGDFcekRCk=; b=VMt+roIPGK5A+7u6NfuvIYevaU0/Yl6DgOIv358c7YCKO35p/tPGjEhYm/A0EAQ4P6 iPCOh7BSADLVNJ4rNFK3SEv5t5t/KeVYam6J8KeOzIbPFgBLmzU+/nt69kt1/Map7ynk 0/JHNWhxRQghFhVJXduGmE/ZPQ5rlan3xAvCShcBgjkG1q6BAXqEXOAAa+fxZy7HptRk WIeAwqpuKX9oX6Iw/5Gn1vRwndXdr3WqnkmD2x7y+VpNBPkWmkzXeUlwFbcDD7ED027E QCvdvbbJJw3u7kBBx2M/Srt0WPbjuv5z9EOfS0AHi2XyKKPDsSUc796S8GqTNmFbklVL cMpQ== X-Forwarded-Encrypted: i=1; AJvYcCVk+1XaSo4QtNJn/piZCRd1g7H7dlZELDo/UfRlWvVy6Gbum3aDp27gc+/F1ZaOFmtzOqawzWqKjw==@kvack.org X-Gm-Message-State: AOJu0Yx/neNINYBCFD07CG4CRXSgq8cTUXxY1BA1/YEjnmcQKYKs+/pc lFmiFUDiIejlagWIW9M4l3tDAf39GGZ4UV8hIgpKO7z4j6LzpYdp X-Google-Smtp-Source: AGHT+IFCjPaZImuPumIH/zGWBtkHZ7XjcKsaZgbyp4TxJQSA7Fxxl4PuItGSboViP9fG+T4P1EmMaA== X-Received: by 2002:a05:6512:12c7:b0:52c:818c:13b8 with SMTP id 2adb3069b0e04-5387048bb6dmr610863e87.4.1727229875207; Tue, 24 Sep 2024 19:04:35 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93930cace4sm154470966b.117.2024.09.24.19.04.32 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Sep 2024 19:04:33 -0700 (PDT) Date: Wed, 25 Sep 2024 02:04:31 +0000 From: Wei Yang To: Sidhartha Kumar Cc: linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org, linux-mm@kvack.org, akpm@linux-foundation.org, liam.howlett@oracle.com, willy@infradead.org, surenb@google.com Subject: Re: [PATCH v4 04/17] maple_tree: introduce mas_wr_store_type() Message-ID: <20240925020431.joykmu4zzahoglcl@master> Reply-To: Wei Yang References: <20240814161944.55347-1-sidhartha.kumar@oracle.com> <20240814161944.55347-5-sidhartha.kumar@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240814161944.55347-5-sidhartha.kumar@oracle.com> User-Agent: NeoMutt/20170113 (1.7.2) X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 6709F140005 X-Stat-Signature: z3mse69eacnwduod6p151tkokudbd8ja X-HE-Tag: 1727229877-931032 X-HE-Meta: U2FsdGVkX1/pSeWb7MbbmcasX1sd21HIhHZ5k0WdpHaBM0r3TB41ODX6cYKbj/HlpurBoF4b+Coq0hDfX6+ZtVchCNBx27VN7PskFe67QKaMG6U6dLEFVLCtEfV4HMOMUWdnJeuJyBvos5wBJwo8S28IEm3Q3nkWyMTM6egb1vBZ/TaOz308+nD3VwsLT+2kRhaX3y6asca22qBF6RLIuZuySM3OFqG/Th7XoLIdHcKqD3jJf4X2pkp91PzvjR4WO3tsY+SjNLPMxJq749ZeOrIzDhii9o8w8n8NhsPm0AohCP4x2c9uvV+UhnQz3w9Br5yrQwpgsoNIJG3Rn/YmT+d0zU3+tJDK9kF5DpCHJ4g2itjyWUs3DHvDNaZndOoqPyMsjMw0TPqzkvt8kc59nqLkDvv6LEQ82vN9gTx68rpkBN0hfgFuyuyx5ARQaZDFiROFS8aHZd4HqETqGZUTj5WC0Fezof4oMYKhKYHCDrHSk/c9onaTgISeHeweeshDty3BwOIctkWohpzwLrMvThi9iFMgHooeWx8QGsyT78szhNQdOPMb0Az73g8jjU6eMBwqY+JJqE128rqAmll2vgrUsHpsrT5lyRjNejQWpYe3luUsVQGmcRSeUq+SEJSJZXEU5ly117/+h4q8GRPn1YXZg2u90bJUVmBNw841GL+P1LWpEi3ZwvACJqoY1TEyxs06wPxgDVromt4jYBLKFZ6UVqJ6Bht7UTywdqyDDXXvjywquZepg6ULOLwjTbtIjnJBAyksC5tuODKIE5VQCgJSeYVg8FE1fqAfvLnMRU6OgWWPrAicNsW34AEUzVt6WkwI5NypJLtuA0zs3cI9h1B130SYwAxe3wVYxJbtLPoz4bpUCxa/6ySZWmkEeYL7x9AXBTsEXMIXJMJmA2P6M4xrxbp34+CqElE9YChLSosGLiSMJMwQcxt22eAL5L8Tr7HcscpXp6GKsYe4dYn HJN3JKmR JsKQ7VVuF302HopHw0IwL6F0bPuwyiZo2CpK5ULA3mvhdIT5mKZdca5lsTmFAGra/99cKbqNjhgTXdtk9EQCfBCbviJQlam+qrFjlRROtstKG1k/OZagvwW7TmNbYzQSaWJiUau1V5PF2wEG7cXqHM0GLd7KQmYnc0k+IE2L6xuNiu5FjCR/0aEBtwvhcBpRUOZEg4yCPUrdHd0HqQeNlChCYrgoVQvJvh1AsfaE8I7Yg5vF1s+Ta80FXVqAy/4YY9vWzzBNaKEhnqgQuYfm8/Z+5S7lukaKjmYQ6zjMwXAMZaEiObWo8zCtpwqmdNIeU5bjz5royzYQ9pem9Qkrj2VsASLS51fxhmAoqVHovM4iKFAqnL/HZpwM60nRZ3t8tIokXfNTA7394wDmsD2qX0ZXG3BiVvseYAcgzgtcezLu23oZqxgxbl0EN65K3NVuzPWbIf0C8/96Ogk8ikcReezjaPr/NxFGYLMxZlfN7rHHAJCg01uC/XiQZwm0MKgLNKxoW/q39KDTEvMdgEDxHm2atvFH1eQF7GHgm7KMt1jPJeub/+eAYmJ2pHZINV9pfYZtSf05WXMQcoK322aNpdw3cuYY5UyN4vS0u X-Bogosity: Ham, tests=bogofilter, spamicity=0.000226, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Aug 14, 2024 at 12:19:31PM -0400, Sidhartha Kumar wrote: Sorry for a late reply, I just see this change. >+ >+/* >+ * mas_wr_store_type() - Set the store type for a given >+ * store operation. >+ * @wr_mas: The maple write state >+ */ >+static inline void mas_wr_store_type(struct ma_wr_state *wr_mas) >+{ >+ struct ma_state *mas = wr_mas->mas; >+ unsigned char new_end; >+ >+ if (unlikely(mas_is_none(mas) || mas_is_ptr(mas))) { >+ mas->store_type = wr_store_root; >+ return; >+ } >+ >+ if (unlikely(!mas_wr_walk(wr_mas))) { >+ mas->store_type = wr_spanning_store; >+ return; >+ } >+ >+ /* At this point, we are at the leaf node that needs to be altered. */ >+ mas_wr_end_piv(wr_mas); >+ if (!wr_mas->entry) >+ mas_wr_extend_null(wr_mas); >+ >+ new_end = mas_wr_new_end(wr_mas); >+ if ((wr_mas->r_min == mas->index) && (wr_mas->r_max == mas->last)) { >+ mas->store_type = wr_exact_fit; >+ return; >+ } >+ >+ if (unlikely(!mas->index && mas->last == ULONG_MAX)) { >+ mas->store_type = wr_new_root; >+ return; >+ } >+ >+ /* Potential spanning rebalance collapsing a node */ >+ if (new_end < mt_min_slots[wr_mas->type]) { >+ if (!mte_is_root(mas->node)) { >+ mas->store_type = wr_rebalance; >+ return; >+ } >+ mas->store_type = wr_node_store; >+ return; >+ } After this check, we are sure new_end >= mt_min_slots[wr_mas->type]. >+ >+ if (new_end >= mt_slots[wr_mas->type]) { >+ mas->store_type = wr_split_store; >+ return; >+ } >+ >+ if (!mt_in_rcu(mas->tree) && (mas->offset == mas->end)) { >+ mas->store_type = wr_append; >+ return; >+ } >+ >+ if ((new_end == mas->end) && (!mt_in_rcu(mas->tree) || >+ (wr_mas->offset_end - mas->offset == 1))) { >+ mas->store_type = wr_slot_store; >+ return; >+ } >+ >+ if (mte_is_root(mas->node) || (new_end >= mt_min_slots[wr_mas->type]) || >+ (mas->mas_flags & MA_STATE_BULK)) { The check (new_end >= mt_min_slots[wr_mas->type]) here seems always be true. So the if here seems not necessary. Do I miss something? >+ mas->store_type = wr_node_store; >+ return; >+ } >+ >+ mas->store_type = wr_invalid; >+ MAS_WARN_ON(mas, 1); >+} >+ -- Wei Yang Help you, Help me