This avoids creaing a semaphore where it is not needed, especially
as most of these locks are never used from another thread (in the
reports in #16246, there are thousands of semaphores from this
with only a small handful having a "last acquirer" != 0.)
On an idle system with 1GB RAM and the 100ms timeout, it takes multiple
minutes for all the pages in the system to get cleared after boot, but once
they do, the page scrubber will then remain idle for seconds to even
minutes at a time, so this is clearly worth it.
The "free pages condition" was unused before this commit, so I have
repurposed it (and unpublished it.)
Change-Id: I7034677a1e51c97c2baf11b772db3a31c0e1adfa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1699
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The code here cannot handle the case where alignment > block_size,
so anything calling Init() with these parameters is invalid.
Fixes#15902 (nvme_disk was long since adjusted, so this is a defense
against code being written in the future.)
* This should 'fix' the arm build
* No longer parse FDT in bootloader, just pass ptr.
* The EFI loader doesn't load yet on arm
* It compiles though. Ship it!
Change-Id: I7c8ce588298dfaf4fba8054c6b6d9a92733b5943
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2903
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Put 'settings' folder in quotes, just like 'system'.
* Break down the very long sentence.
* The "its" in "...will retain its settings folder" refers to the
source folder, when it's actually the target that is kept.
* 'whereas' isn't the right word IMO, as the following text is more
an explanation what 'merging' entails.
Change-Id: Iae2f1768fdf897b4c6ffb02be6800fdd85e2cde8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2919
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Some older repositories are having problems because
they are configured with a `url` (identifier) form
that is not actually a well-formed URL. This caused
problems when it was then interpreted as the
base-url because it did not start with "http". I
have changed this so that the base-url is not
derived from the url and can be missing.
Resolves#16149
Change-Id: I10acd8db65082ff6c72fcff1550eb63475e86133
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2931
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Previously system_info->free_swap_pages was using swap_available_pages
which has reservations removed. Tools like ActivityMonitor would
therefore show mere reservations as swap use which is misleading at
best.
Switch to use the sum of the free slots of all swap files instead.
This doesn't add overhead as the swap file list was already locked and
traversed for max_swap_pages before (via swap_total_swap_pages()).
Fixes#16248.
Change-Id: I3ebf223ec108bf342d4f32d68405170e72528899
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2917
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Utilize user_memcpy and IS_USER_ADDRESS when necessary to prevent SMAP violations.
Also add a "wacom_device_header" struct to more easily share data between the wacom
kernel driver and input_server addon.
Should fix#14589
Change-Id: Ie2784020b21523f82fd450a2db2de60ccf9d6620
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2783
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Make expanding/collapsing logic the same as in BOutlineListView.
Change-Id: Ia8669ec6ac1be15c09879aa759474b4841451c39
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2933
Reviewed-by: John Scipione <jscipione@gmail.com>
* Add a button to open a Terminal to the left of the Cancel button.
The ALT+OPT+T combo is a bit hidden, as mentioned in #16243.
* After opening a Terminal, close the Team Monitor. Being a modal
window, the user would have to close it manually anyway to be able
to use the Terminal.
* Remove the unneeded instructions how to use the Quit and Kill buttons.
Now we can use a simple BStringView and avoid most of the font style
complications.
* Put some weight on the scroll view, so it's the only view getting
taller when vertically resize the window.
Change-Id: I4a58033c0ce9b36a0e714f9bdd5c5542bca30849
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2906
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* This should prevent erroneously deleting any files in low memory
situations.
Change-Id: I21b1d042e5f7e03a5abfaaa567b6c679b95e3188
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2914
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* This allows file systems to retrieve the actual error code on a
failure, and report it to the user.
* All affected file systems have been adjusted to the API change.
This is a binary incompatible change.
Change-Id: Id73392aaf9c6cb7d643ff9adcb8bf80f3037874c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2913
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
`atoi()` maximum value is `LONG_MAX` which is smaller than `SIZE_MAX`.
This cause any Content-Length > LONG_MAX to be represented in an
erroneous value. This will also happen to any invalid Content-Length
header.
This change uses strtoul() for the extended range (should be the same as
size_t range), and combined with proper error checking to determine
whether the received Content-Length is a valid and/or representable
value. Returns 0 if the data is invalid or can not be represented.
Some shortcomings about the current implementation are also
noted accordingly. They will be solved in later patches.
Change-Id: If28c4c3b8430ed83dd0f600030ec8949cf7e0051
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2927
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Add usb ID and resolution for this tablet
* Fixes#16261
Signed-off-by: Rob Gill <rrobgill@protonmail.com>
Change-Id: I426576dc47241846d5a956d41a19186f9c599eb9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2923
Reviewed-by: Sergei Reznikov <diver@gelios.net>
This patch aimed at implementing the get_vnode and read_stat hook.
read_stat seems to work well, get_vnode can be checked after working on
dir.
Change-Id: I487915b7e8f6ee6f97349b0c638676d5389cd2df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2859
Reviewed-by: Chế Vũ Gia Hy <cvghy116@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This patch successfully reads inodes. There are also some style fixes.
The inodes aren't published and some useful hooks are yet to implement.
Change-Id: I73e6c68f1c2177871fbd0b241a67826aea1b17be
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2738
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This allows dumping the allocation stack traces in the more powerful
allocations command with the optional "trace" argument. The stack trace
could previously only be dumped manually by inspecting individual
guarded heap pages.
The team is locked for the allocation of the user thread. When the
thread limit is reached, the user thread is removed again by
team_free_user_thread which internally locks the team, resulting in a
double lock. Unlock the teamLocker before calling team_free_user_thread.
Amazingly noone seems to ever have hit the thread limit, even though it
is currently at an arbitrarily low 4096.
The rename of the system_info members was missed in
d02aaee17e (part of the scheduler branch
merge of hrev46690). The unguarded object_cache was introduced even
earlier as part of hrev43133.
sourceRect has phase baked in. If phasecomponents are larger than bitamp bounds
sourceRect no longer intersects and nothing gets drawn.
Change-Id: Ib3f676b8e78e2d941c89e699f9a0ab39cc93e173
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2916
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* These are hand plucked from Linux's atombios parser.
drm code has been leaking into Linux's version :-|
Change-Id: Iaab4f474edf57f0e5011e20a21bd1036b54ba47c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2912
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Small change in the docs to make the explanation of read_dir
functionality a little more clear.
Change-Id: I202eb0f70b38c78962ad9ca1d267995977c04951
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2900
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>