From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755926AbaEHUxL (ORCPT ); Thu, 8 May 2014 16:53:11 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:53607 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755139AbaEHUxJ (ORCPT ); Thu, 8 May 2014 16:53:09 -0400 Message-ID: <536BEEB4.4000404@fb.com> Date: Thu, 8 May 2014 14:53:08 -0600 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Christoph Hellwig CC: Subject: Re: [PATCH] blk-mq: initialize struct request fields individually References: <1399371165-12883-1-git-send-email-hch@lst.de> In-Reply-To: <1399371165-12883-1-git-send-email-hch@lst.de> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.57.29] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.11.96,1.0.14,0.0.0000 definitions=2014-05-08_07:2014-05-08,2014-05-08,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 kscore.is_bulkscore=7.0207895053187e-11 kscore.compositescore=0 circleOfTrustscore=0 compositescore=0.994525499955221 urlsuspect_oldscore=0.994525499955221 suspectscore=0 recipient_domain_to_sender_totalscore=0 phishscore=0 bulkscore=0 kscore.is_spamscore=0 recipient_to_sender_totalscore=0 recipient_domain_to_sender_domain_totalscore=62764 rbsscore=0.994525499955221 spamscore=0 recipient_to_sender_domain_totalscore=0 urlsuspectscore=0.9 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1405080205 X-FB-Internal: deliver Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/06/2014 04:12 AM, Christoph Hellwig wrote: > This allows us to avoid a non-atomic memset over ->atomic_flags as well > as killing lots of duplicate initializations. I had an earlier variant of this as well, they are quite a few fields we can neglect to initialize. But I think this is a safe start, however, and we can always optimize it on top of it. Perhaps even start to separate struct request a bit, so we can safely memset parts of it easily.