Page MenuHomeFreeBSD

bz (Bjoern A. Zeeb)
User

Projects (12)

User Details

User Since
Aug 29 2014, 12:11 PM (623 w, 4 d)

Recent Activity

Yesterday

bz added a comment to D58762: linuxkpi: Add `split_page()`.

I don't think we use large pages in linuxkpi. Therefore, this new function is curently a no-op.

Is there a way we can add either a compile-time error or KASSERT to ensure this remains the case?

Mon, Aug 10, 6:32 PM

Sat, Aug 8

bz accepted D58733: linuxkpi: stop inlining accesses to curthread->td_lkpi_task.

No objections from me reading this. Wait what others are saying.

Sat, Aug 8, 10:07 PM

Fri, Jul 31

bz committed rG42b89d49b7ab: mt76: update script to to deal with 7921 and 7925 flavors (authored by jim.chen.1827_gmail.com).
mt76: update script to to deal with 7921 and 7925 flavors
Fri, Jul 31, 8:30 PM
bz committed rG3b569c3e1ec6: fwget: update MediaTek firmware listings to match ports (authored by jim.chen.1827_gmail.com).
fwget: update MediaTek firmware listings to match ports
Fri, Jul 31, 8:30 PM
bz committed rG7bea49bd865d: mt76: mt7921: update man page (authored by bz).
mt76: mt7921: update man page
Fri, Jul 31, 8:30 PM
bz accepted D58576: linuxkpi: Add xa_insert_irq wrapper.

For what it's there it is fine.

Fri, Jul 31, 5:35 PM

Wed, Jul 29

bz added inline comments to D58320: LinuxKPI: Add PAGE_IS_LKPI_PAGE for Linux struct page instead of vm_page.
Wed, Jul 29, 12:49 AM
bz committed rG3afa2628ccd2: mt76: mt7921: update man page (authored by bz).
mt76: mt7921: update man page
Wed, Jul 29, 12:48 AM
bz closed D58479: mt76: mt7921: update man page.
Wed, Jul 29, 12:48 AM

Tue, Jul 28

bz added inline comments to D58479: mt76: mt7921: update man page.
Tue, Jul 28, 3:16 PM
bz added reviewers for D58320: LinuxKPI: Add PAGE_IS_LKPI_PAGE for Linux struct page instead of vm_page: markj, kib.
Tue, Jul 28, 12:00 AM

Mon, Jul 27

bz requested review of D58499: mt76: hook up to the build, for now only compile core and mt7921 modules.
Mon, Jul 27, 11:56 PM
bz requested review of D58498: LinuxKPI: turn on PAGE_IS_LKPI_PAGE.
Mon, Jul 27, 11:51 PM
bz accepted D57570: linuxkpi: Include <linux/notifier.h> and <linux/device.h> from <linux/pm_qos.h>.
Mon, Jul 27, 8:20 PM
bz added inline comments to D57430: LinuxKPI: pci: cleanup the error path in linux_pci_attach_device().
Mon, Jul 27, 8:18 PM
bz retitled D58479: mt76: mt7921: update man page from mt67: mt7921: update man page to mt76: mt7921: update man page.
Mon, Jul 27, 2:38 PM
bz requested review of D58479: mt76: mt7921: update man page.
Mon, Jul 27, 2:36 PM
bz committed rG7925256edc74: fwget: update MediaTek firmware listings to match ports (authored by jim.chen.1827_gmail.com).
fwget: update MediaTek firmware listings to match ports
Mon, Jul 27, 1:05 PM
bz committed rGb1f3726f7a67: mt76: update script to to deal with 7921 and 7925 flavors (authored by jim.chen.1827_gmail.com).
mt76: update script to to deal with 7921 and 7925 flavors
Mon, Jul 27, 1:05 PM
bz closed D57242: Update fwget(8) to identify packages available in wifi-firmware-kmod.
Mon, Jul 27, 1:04 PM
bz accepted D57242: Update fwget(8) to identify packages available in wifi-firmware-kmod.

I am splitting it up into fwget and the shell script so I can MFC fwget quickly more easily) and am committing this.
Sorry it fell through the cracks after your last update.

Mon, Jul 27, 1:01 PM
bz committed rG038a73790cb6: mt76: disable debugfs due to missing piece still in review (authored by bz).
mt76: disable debugfs due to missing piece still in review
Mon, Jul 27, 12:12 AM
bz committed rG66891eda3520: LinuxKPI: page pool updates and add to the build (authored by bz).
LinuxKPI: page pool updates and add to the build
Mon, Jul 27, 12:12 AM
bz committed rGea8db6b6d98c: mt76: further adjust debugfs compile time options (authored by bz).
mt76: further adjust debugfs compile time options
Mon, Jul 27, 12:11 AM
bz committed rG7e06bfdd1489: LinuxKPI: page.h: resort lines (authored by bz).
LinuxKPI: page.h: resort lines
Mon, Jul 27, 12:11 AM
bz committed rG86da56e65f8c: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT (authored by bz).
LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT
Mon, Jul 27, 12:11 AM
bz committed rG9a52d308257b: LinuxKPI: prefer struct page [*] over struct vm_page[_t] (authored by bz).
LinuxKPI: prefer struct page [*] over struct vm_page[_t]
Mon, Jul 27, 12:11 AM
bz committed rGb17957b9d165: LinuxKPI: move clear_page() within the linux/page.h file (authored by bz).
LinuxKPI: move clear_page() within the linux/page.h file
Mon, Jul 27, 12:11 AM
bz committed rGb85f7753dac5: LinuxKPI: sg_page() remove superfluous () (authored by bz).
LinuxKPI: sg_page() remove superfluous ()
Mon, Jul 27, 12:11 AM
bz committed rGa7d0df951c90: LinuxKPI: pci: fix dma handle type in match function (authored by bz).
LinuxKPI: pci: fix dma handle type in match function
Mon, Jul 27, 12:11 AM
bz committed rG94ab8de14f0a: LinuxKPI: 802.11: always lock around (*set_{frag,rts}_threshold) (authored by bz).
LinuxKPI: 802.11: always lock around (*set_{frag,rts}_threshold)
Mon, Jul 27, 12:11 AM
bz committed rG912251ac6b18: LinuxKPI: 802.11: stop ieee80211_start_tx_ba_session() if no HT supported (authored by bz).
LinuxKPI: 802.11: stop ieee80211_start_tx_ba_session() if no HT supported
Mon, Jul 27, 12:11 AM
bz committed rGb37a29f84940: LinuxKPI: skbuff: add initial page pool support (authored by bz).
LinuxKPI: skbuff: add initial page pool support
Mon, Jul 27, 12:11 AM
bz committed rG36ed9a84d17b: LinuxKPI: skbuff: add reference counting to the skb (authored by bz).
LinuxKPI: skbuff: add reference counting to the skb
Mon, Jul 27, 12:11 AM
bz committed rGbe02517f6f19: LinuxKPI: skbuff: add support for frags in linuxkpi_skb_copy() (authored by bz).
LinuxKPI: skbuff: add support for frags in linuxkpi_skb_copy()
Mon, Jul 27, 12:11 AM
bz committed rG4352733e6398: LinuxKPI: skbuff: implement __skb_linearize() (authored by bz).
LinuxKPI: skbuff: implement __skb_linearize()
Mon, Jul 27, 12:11 AM
bz committed rG299f6dc8bb71: LinuxKPI: skbuff: add skb_put_zero() (authored by bz).
LinuxKPI: skbuff: add skb_put_zero()
Mon, Jul 27, 12:11 AM
bz committed rG271a6593acf3: LinuxKPI: skbuff: implement napi_build_skb() (authored by bz).
LinuxKPI: skbuff: implement napi_build_skb()
Mon, Jul 27, 12:11 AM
bz committed rGf16c8e3dda5d: LinuxKPI: skbuff: improve debugging (authored by bz).
LinuxKPI: skbuff: improve debugging
Mon, Jul 27, 12:11 AM
bz committed rGdada5634d4d2: LinuxKPI: 802.11: lkpi_80211_txq_tx_one() only pass sta if added to drv (authored by bz).
LinuxKPI: 802.11: lkpi_80211_txq_tx_one() only pass sta if added to drv
Mon, Jul 27, 12:11 AM
bz committed rG19a8d8f55f07: LinuxKPI: pci detach: implement a proper detach (release) path (authored by bz).
LinuxKPI: pci detach: implement a proper detach (release) path
Mon, Jul 27, 12:11 AM
bz committed rG38734f88a643: LinuxKPI: fix lkpi_pci_get_device() reference counting on device (authored by bz).
LinuxKPI: fix lkpi_pci_get_device() reference counting on device
Mon, Jul 27, 12:11 AM
bz committed rGcb143e517654: LinuxKPI: add system_percpu_wq (authored by bz).
LinuxKPI: add system_percpu_wq
Mon, Jul 27, 12:11 AM

Sun, Jul 26

bz added a comment to D54060: LinuxKPI: introduce LINUXKPI_DEBUG to enable LinuxKPI debugging.

Unless there will be objections I'll put this in by Tuesday evening.

Sun, Jul 26, 5:28 PM
bz added a comment to D57430: LinuxKPI: pci: cleanup the error path in linux_pci_attach_device().

We have a bug report for this problem now (this review seems to solve it).
Here's the end of the thread on current: https://lists.freebsd.org/archives/freebsd-current/2026-July/010533.html

Sun, Jul 26, 5:24 PM

Sat, Jul 25

bz updated the summary of D57430: LinuxKPI: pci: cleanup the error path in linux_pci_attach_device().
Sat, Jul 25, 10:03 PM
bz updated the diff for D58320: LinuxKPI: Add PAGE_IS_LKPI_PAGE for Linux struct page instead of vm_page.

Update linux_free_pages() as suggested by @dumbbell.

Sat, Jul 25, 9:06 PM
bz added a comment to D58320: LinuxKPI: Add PAGE_IS_LKPI_PAGE for Linux struct page instead of vm_page.

I made an inline comment in linux_free_page(): there is a refcounting issue vs. the call to lkpi_page_unset_vm_page().

Beside this issue, I also made the following change to the i915 DRM driver which manipulates vm_page_t directly:

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
index 2d94542f4d..58f64e9c0e 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
@@ -171,14 +171,21 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data,
 		if (vm_object_set_memattr(vmobj, VM_MEMATTR_WRITE_COMBINING) != KERN_SUCCESS) {
 #if __FreeBSD_version >= 1500038
 			struct pctrie_iter pages;
-			vm_page_t page;
+			struct vm_page *m;
 
 			vm_page_iter_init(&pages, vmobj);
-			VM_RADIX_FORALL(page, &pages)
+			VM_RADIX_FORALL(m, &pages)
 #else
-			for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page))
+			for (vm_page_t m = vm_page_find_least(vmobj, 0); m != NULL; m = vm_page_next(m))
 #endif
-				pmap_page_set_memattr(page, VM_MEMATTR_WRITE_COMBINING);
+			{
+#ifdef PAGE_IS_LKPI_PAGE
+				struct page *page;
+				page = lkpi_vm_page_to_page(m);
+				lkpi_page_set_vm_page(page, m);
+#endif
+				pmap_page_set_memattr(m, VM_MEMATTR_WRITE_COMBINING);
+			}
 		}
 		VM_OBJECT_WUNLOCK(vmobj);
 	}

Do you think it's fine?

Sat, Jul 25, 8:50 PM
bz added a comment to D58320: LinuxKPI: Add PAGE_IS_LKPI_PAGE for Linux struct page instead of vm_page.

I made an inline comment in linux_free_page(): there is a refcounting issue vs. the call to lkpi_page_unset_vm_page().

Beside this issue, I also made the following change to the i915 DRM driver which manipulates vm_page_t directly:

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
index 2d94542f4d..58f64e9c0e 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
@@ -171,14 +171,21 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data,
 		if (vm_object_set_memattr(vmobj, VM_MEMATTR_WRITE_COMBINING) != KERN_SUCCESS) {
 #if __FreeBSD_version >= 1500038
 			struct pctrie_iter pages;
-			vm_page_t page;
+			struct vm_page *m;
 
 			vm_page_iter_init(&pages, vmobj);
-			VM_RADIX_FORALL(page, &pages)
+			VM_RADIX_FORALL(m, &pages)
 #else
-			for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page))
+			for (vm_page_t m = vm_page_find_least(vmobj, 0); m != NULL; m = vm_page_next(m))
 #endif
-				pmap_page_set_memattr(page, VM_MEMATTR_WRITE_COMBINING);
+			{
+#ifdef PAGE_IS_LKPI_PAGE
+				struct page *page;
+				page = lkpi_vm_page_to_page(m);
+				lkpi_page_set_vm_page(page, m);
+#endif
+				pmap_page_set_memattr(m, VM_MEMATTR_WRITE_COMBINING);
+			}
 		}
 		VM_OBJECT_WUNLOCK(vmobj);
 	}

Do you think it's fine?

Sat, Jul 25, 4:56 PM
bz added a comment to D55035: LinuxKPI: usb: add usb_anchor support.
In D55035#1341051, @bz wrote:

Thanks for the comment; I have a way larger branch I think than what is in review. Do you want to have a look at the entire bits? I'd be thrilled if someone will review them :) and more than happy to extract the next days.

Do you mean https://reviews.freebsd.org/D54987? I was typing something while you leave your comment:)

Sat, Jul 25, 4:55 PM
bz added a comment to D58448: brcmfmac: simplify conditional logic in module Makefile.
In D58448#1340980, @bz wrote:

The module is not built at all so I wonder if you actually built it with mfsbsd.

I have other outstanding diffs on a branch which are required to get brcm to build/install: https://github.com/ngie-eign/freebsd-src/tree/brcm-polish . I'm trying to get a working driver on my mid-2010s MacBooks.

Sat, Jul 25, 4:26 PM
bz added a comment to D55035: LinuxKPI: usb: add usb_anchor support.

Thanks for the comment; I have a way larger branch I think than what is in review. Do you want to have a look at the entire bits? I'd be thrilled if someone will review them :) and more than happy to extract the next days.

Sat, Jul 25, 2:43 PM
bz added a comment to D58451: linux_firmware: remove `enoentok` logic in `*firmware_request(..)`.

The fact that there was a different behaviour with the extra bool means there was a reason for this.
We cannot unconditionally clear this and change behaviour as we still support Linux 6.1-lts drm-kmod and others.
This will need more careful investigation.

Sat, Jul 25, 11:44 AM
bz added a comment to D58450: brcmfmac: reformat FreeBSD vs Linux line.

I would say "NO". The idea is to keep the #ifdef portion minimal as most of the differences will have to be upstreamed one day. Keeping the #ifdef away from the next statement makes merging easier.

Sat, Jul 25, 11:40 AM
bz removed a reviewer for D58448: brcmfmac: simplify conditional logic in module Makefile: adrian.

The module is not built at all so I wonder if you actually built it with mfsbsd.

Sat, Jul 25, 11:36 AM

Fri, Jul 24

bz committed rGe591a7662143: LinuxKPI: page pool updates and add to the build (authored by bz).
LinuxKPI: page pool updates and add to the build
Fri, Jul 24, 7:36 PM
bz committed rG0b8d22019dcf: LinuxKPI: page.h: resort lines (authored by bz).
LinuxKPI: page.h: resort lines
Fri, Jul 24, 7:36 PM
bz committed rGf45506c6a6f4: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT (authored by bz).
LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT
Fri, Jul 24, 7:35 PM
bz committed rGac4b43b7b9dd: LinuxKPI: prefer struct page [*] over struct vm_page[_t] (authored by bz).
LinuxKPI: prefer struct page [*] over struct vm_page[_t]
Fri, Jul 24, 7:35 PM
bz committed rG0845efe88b35: LinuxKPI: move clear_page() within the linux/page.h file (authored by bz).
LinuxKPI: move clear_page() within the linux/page.h file
Fri, Jul 24, 7:35 PM
bz closed D58299: LinuxKPI: page.h: resort lines.
Fri, Jul 24, 7:35 PM
bz committed rGfe1784004d6e: LinuxKPI: sg_page() remove superfluous () (authored by bz).
LinuxKPI: sg_page() remove superfluous ()
Fri, Jul 24, 7:35 PM
bz closed D58298: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT.
Fri, Jul 24, 7:35 PM
bz closed D58297: LinuxKPI: prefer struct page [*] over struct vm_page[_t].
Fri, Jul 24, 7:35 PM
bz committed rG2099bf27126f: LinuxKPI: pci: fix dma handle type in match function (authored by bz).
LinuxKPI: pci: fix dma handle type in match function
Fri, Jul 24, 7:35 PM
bz closed D58296: LinuxKPI: move clear_page() within the linux/page.h file.
Fri, Jul 24, 7:35 PM
bz closed D58295: LinuxKPI: sg_page() remove superfluous ().
Fri, Jul 24, 7:35 PM
bz closed D58285: LinuxKPI: pci: fix dma handle type in match function.
Fri, Jul 24, 7:35 PM
bz accepted D58380: linux_firmware: reformat error print-out.
Fri, Jul 24, 12:29 AM
bz edited reviewers for D58380: linux_firmware: reformat error print-out, added: linuxkpi; removed: adrian.
Fri, Jul 24, 12:29 AM

Wed, Jul 22

bz added a comment to D58299: LinuxKPI: page.h: resort lines.

Sure. I think they could just stay where they are until the refactor but OK.

Wed, Jul 22, 8:43 PM
bz added a comment to D58285: LinuxKPI: pci: fix dma handle type in match function.

Anyone on this one?

Wed, Jul 22, 6:07 PM
bz added a comment to D58295: LinuxKPI: sg_page() remove superfluous ().

This will go in by Friday.

Wed, Jul 22, 6:07 PM
bz added a comment to D58296: LinuxKPI: move clear_page() within the linux/page.h file.

This will go in by Friday.

Wed, Jul 22, 6:07 PM
bz added a comment to D58297: LinuxKPI: prefer struct page [*] over struct vm_page[_t].

This will go in by Friday.

Wed, Jul 22, 6:06 PM
bz added a comment to D58298: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT.

@markj @kib did I get the last version right?

Wed, Jul 22, 6:06 PM
bz added a comment to D58299: LinuxKPI: page.h: resort lines.

This will go in by Friday.

Wed, Jul 22, 6:06 PM
bz requested changes to D58384: net80211: migrate the ioctl API to a 128 bit specific API + use key API.
Wed, Jul 22, 7:54 AM · wireless
bz added a comment to D26018: Methodize the TX power limit retrival in ieee80211_ioctl_get80211().

Making this an inline function for the point of making it a function seems hard to justify for single use code.
Can we at least keep it as a normal function in ioctl.c?

Wed, Jul 22, 7:24 AM · wireless

Tue, Jul 21

bz committed rG5d479b75a894: LinuxKPI: 802.11: always lock around (*set_{frag,rts}_threshold) (authored by bz).
LinuxKPI: 802.11: always lock around (*set_{frag,rts}_threshold)
Tue, Jul 21, 8:02 PM

Sat, Jul 18

bz abandoned D53440: LinuxKPI: Add work-in-pgroess PAGE_IS_LKPI_PAGE.

Updated version at https://reviews.freebsd.org/D58320

Sat, Jul 18, 11:47 AM
bz requested review of D58320: LinuxKPI: Add PAGE_IS_LKPI_PAGE for Linux struct page instead of vm_page.
Sat, Jul 18, 11:45 AM
bz updated the diff for D58299: LinuxKPI: page.h: resort lines.

REbase in the hope that with this the stack applies cleanly as well.

Sat, Jul 18, 11:42 AM

Fri, Jul 17

bz added a comment to D58306: rtw89/core.c: Avoid re-queueing if 'ieee80211_start_tx_ba_session' fails with a non-recoverable error.
In D58306#1337245, @bz wrote:

Please see the wireless mailing list where I sent a patch for test and did not get feedback. Changing the driver is the wrong thing to do (not that it works well currently).

https://lists.freebsd.org/archives/freebsd-wireless/2026-July/004328.html

Ah, I wasn't aware of your patch, thanks for pointing this out.
FWIW your patch fixes the message spam on my machine.
I'll abandon this revision so please feel free to commit the patch you proposed.

Fri, Jul 17, 9:09 PM
bz committed rG8a1600428e93: LinuxKPI: 802.11: stop ieee80211_start_tx_ba_session() if no HT supported (authored by bz).
LinuxKPI: 802.11: stop ieee80211_start_tx_ba_session() if no HT supported
Fri, Jul 17, 9:07 PM
bz added a comment to D58306: rtw89/core.c: Avoid re-queueing if 'ieee80211_start_tx_ba_session' fails with a non-recoverable error.

Please see the wireless mailing list where I sent a patch for test and did not get feedback. Changing the driver is the wrong thing to do (not that it works well currently).

Fri, Jul 17, 4:42 PM
bz updated subscribers of D58305: net/if.c: Add fib-aware ifa_ifwithaddr().
Fri, Jul 17, 4:35 PM
bz committed rGc589dc4ef77d: mt76: disable debugfs due to missing piece still in review (authored by bz).
mt76: disable debugfs due to missing piece still in review
Fri, Jul 17, 3:50 PM
bz committed rGe4795d3dbee7: LinuxKPI: skbuff: add initial page pool support (authored by bz).
LinuxKPI: skbuff: add initial page pool support
Fri, Jul 17, 3:50 PM
bz committed rGcb13e826ec45: LinuxKPI: skbuff: add reference counting to the skb (authored by bz).
LinuxKPI: skbuff: add reference counting to the skb
Fri, Jul 17, 3:50 PM
bz committed rG1e4ec01603c4: LinuxKPI: skbuff: add support for frags in linuxkpi_skb_copy() (authored by bz).
LinuxKPI: skbuff: add support for frags in linuxkpi_skb_copy()
Fri, Jul 17, 3:50 PM
bz committed rG9de11cc26ab6: LinuxKPI: skbuff: implement __skb_linearize() (authored by bz).
LinuxKPI: skbuff: implement __skb_linearize()
Fri, Jul 17, 3:50 PM
bz committed rGb36460e5ec46: LinuxKPI: skbuff: implement napi_build_skb() (authored by bz).
LinuxKPI: skbuff: implement napi_build_skb()
Fri, Jul 17, 3:50 PM
bz committed rG32c983449a7c: LinuxKPI: skbuff: add skb_put_zero() (authored by bz).
LinuxKPI: skbuff: add skb_put_zero()
Fri, Jul 17, 3:50 PM
bz committed rGe5bcf7b99fcb: LinuxKPI: skbuff: improve debugging (authored by bz).
LinuxKPI: skbuff: improve debugging
Fri, Jul 17, 3:49 PM
bz updated the diff for D58298: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT.

Properly nest calls.

Fri, Jul 17, 3:48 PM
bz planned changes to D58298: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT.
Fri, Jul 17, 2:01 PM
bz added inline comments to D58298: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT.
Fri, Jul 17, 1:58 PM
bz added a comment to D58298: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT.
In D58298#1337045, @kib wrote:

For the discussion, I am still somewhat surprised that so much of the FreeBSD symbols are leaked into linuxkpi headers, Most amusing and dangerous is PAGE_MASK (AFAIR).

Fri, Jul 17, 1:55 PM
bz added inline comments to D58298: LinuxKPI: page.h: use atop() and ptoa() instead of PAGE_SHIFT.
Fri, Jul 17, 1:39 PM