RE: puzzling code in nvme_configure_admin_queue()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dan,

We have to program the device with the page size so it knows where the page boundaries are.
I could put all this on one logical line like this:

dev->ctrl_config = NVME_CC_ENABLE | NVME_CC_CSS_NVM |
                           ((PAGE_SHIFT - 12) << NVME_CC_MPS_SHIFT |
                           NVME_CC_ARB_RR | NVME_CC_SHN_NONE |
                           NVME_CC_IOSQES | NVME_CC_IOCQES;

in order to shut up the warning, but is that really more readable?
________________________________________
From: Dan Carpenter [dan.carpenter@xxxxxxxxxx]
Sent: June 7, 2013 4:45 AM
To: Wilcox, Matthew R
Cc: kernel-janitors@xxxxxxxxxxxxxxx; Busch, Keith; Verma, Vishal L; Dave Jones
Subject: puzzling code in nvme_configure_admin_queue()

Hi Matthew,

The patch b60503ba432b: "NVMe: New driver" from Jan 20, 2011, leads
to the following warning:
"drivers/block/nvme-core.c:1174 nvme_configure_admin_queue()
         warn: foo |= 0"

drivers/block/nvme-core.c
  1173          dev->ctrl_config = NVME_CC_ENABLE | NVME_CC_CSS_NVM;
  1174          dev->ctrl_config |= (PAGE_SHIFT - 12) << NVME_CC_MPS_SHIFT;
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
How is this used?  Most of the time PAGE_SHIFT is 12 so this
statement is a no-op.  I searched for NVME_CC_MPS_SHIFT but I didn't
find anything.

  1175          dev->ctrl_config |= NVME_CC_ARB_RR | NVME_CC_SHN_NONE;
  1176          dev->ctrl_config |= NVME_CC_IOSQES | NVME_CC_IOCQES;

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux