On 3/20/24 11:26 PM, Matthew Wilcox wrote: > On Wed, Mar 20, 2024 at 03:40:45PM +0800, alexs@xxxxxxxxxx wrote: >> @@ -1820,28 +1820,30 @@ static struct page *stable_tree_search(struct page *page) >> struct rb_node *parent; >> struct ksm_stable_node *stable_node, *stable_node_dup, *stable_node_any; >> struct ksm_stable_node *page_node; >> + struct folio *folio; >> >> - page_node = page_stable_node(page); >> + folio = (struct folio *)page; > > These casts make me nervous. Remember that we're heading towards a > future where struct page and struct folio don't point to the same > memory, and part of that will be finding all these casts and removing > them. Please, unless there's a good reason, just use page_folio(). > Hi willy, Thanks a lot for all comments. Yes,all of them are very right. I will rewrite and send the patchset. Best Regards! Alex