Re: [PATCH v3 2/7] uaccess: Tell user_access_begin() if it's for a write or not

2020-01-25 Thread Tony Luck
On Thu, Jan 23, 2020 at 10:03 AM Linus Torvalds
 wrote:
> We used to have a read/write argument to the old "verify_area()" and
> "access_ok()" model, and it was a mistake. It was due to odd i386 user
> access issues. We got rid of it. I'm not convinced this is any better
> - it looks very similar and for odd ppc access issues.

If the mode (read or write) were made visible to the trap handler, I'd
find that useful for machine check recovery.  If I'm in the middle of a
copy_from_user() and I get a machine check reading poison from a
user address ... then I could try to recover in the same way as for the
user accessing the poison (offline the page, SIGBUS the task). But if
the poison is in kernel memory and we are doing a copy_to_user(), then
we are hosed (or would need some more complex recovery plan).

[Note that we only get recoverable machine checks on loads... writes
are posted, so if something goes wrong it isn't synchronous with the store
instruction that initiated it]

-Tony
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: (Short?) merge window reminder

2011-05-26 Thread Tony Luck
On Wed, May 25, 2011 at 7:12 AM, Boaz Harrosh  wrote:
> So if you combine all the above:
>
> D. Y. N
> D - Is the decade since birth (1991 not 1990)
> Y - is the year in the decade so you have 3.1.x, 3.2.x, .. 3.10.x, 4.1.X and 
> so on
>    Nice incremental number.
> N - The Linus release of this Year. So this 3rd one goes up to 4 most 
> probably.
>
> Linus always likes, and feels very poetic about the Christmas version release.
> He hates it when once it slipped into the next year. So now he gets to 
> increment
> the second digit as a bonus.
>
> The 2nd digit gets to start on a *one*, never zero and goes up to *10*, to 
> symbolize
> the 1991 birth. And we never have .zero quality, right?
>
> The first Digit gets incremented on decade from 1991 so on 2011 and not 2010

This is clearly the best suggestion so far - small numbers, somewhat
date related (but without stuffing a "2011." on the front).  No ".0"
releases, ever.

But best of all it defines now when we will switch to 4.x.y and 5.x.y
so we don't have to keep having this discussion whenever someone thinks
that the numbers are getting "too big" (well perhaps when we get to the
tenth decade or so :-)

So the only thing left to argue is whether the upcoming release should
be numbered "3.1.1" as the first release in the first year of the 3rd
decade ...  or whether we should count 2.6.37 .. 2.6.39 as the first
three releases this year and thus we ought to start with "3.1.4" (so we
start with "pi"!).

Linus: If you go with this, you should let Boaz set the new "NAME"
as a prize for such an inspired solution.

-Tony
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


(Short?) merge window reminder

2011-05-25 Thread Tony Luck
On Wed, May 25, 2011 at 7:12 AM, Boaz Harrosh  wrote:
> So if you combine all the above:
>
> D. Y. N
> D - Is the decade since birth (1991 not 1990)
> Y - is the year in the decade so you have 3.1.x, 3.2.x, .. 3.10.x, 4.1.X and 
> so on
> ? ?Nice incremental number.
> N - The Linus release of this Year. So this 3rd one goes up to 4 most 
> probably.
>
> Linus always likes, and feels very poetic about the Christmas version release.
> He hates it when once it slipped into the next year. So now he gets to 
> increment
> the second digit as a bonus.
>
> The 2nd digit gets to start on a *one*, never zero and goes up to *10*, to 
> symbolize
> the 1991 birth. And we never have .zero quality, right?
>
> The first Digit gets incremented on decade from 1991 so on 2011 and not 2010

This is clearly the best suggestion so far - small numbers, somewhat
date related (but without stuffing a "2011." on the front).  No ".0"
releases, ever.

But best of all it defines now when we will switch to 4.x.y and 5.x.y
so we don't have to keep having this discussion whenever someone thinks
that the numbers are getting "too big" (well perhaps when we get to the
tenth decade or so :-)

So the only thing left to argue is whether the upcoming release should
be numbered "3.1.1" as the first release in the first year of the 3rd
decade ...  or whether we should count 2.6.37 .. 2.6.39 as the first
three releases this year and thus we ought to start with "3.1.4" (so we
start with "pi"!).

Linus: If you go with this, you should let Boaz set the new "NAME"
as a prize for such an inspired solution.

-Tony


Re: [PATCH v5 0/7] drm/mgag200: Implement VBLANK support

2024-10-01 Thread Tony Luck
My system threw out a bunch of stack traces while booting
v6.12-rc1 and hung.

First of these looks like this:

[   33.639799] fbcon: mgag200drmfb (fb0) is primary device
[   33.651573] ixgbe :03:00.0: Intel(R) 10 Gigabit Network Connection
[   33.652092] ixgbe :03:00.1: enabling device (0100 -> 0102)
[   33.818328] [ cut here ]
[   33.818362] [CRTC:34:crtc-0] vblank wait timed out
[   33.818422] WARNING: CPU: 44 PID: 1815 at 
drivers/gpu/drm/drm_atomic_helper.c:1682 
drm_atomic_helper_wait_for_vblanks.part.0+0x245/0x250 [drm_kms_helper]
[   33.818447] Modules linked in: crct10dif_pclmul mgag200(+) crc32_pclmul 
i2c_algo_bit crc32c_intel drm_shmem_helper ghash_clmulni_intel sha512_ssse3 
drm_kms_helper sha256_ssse3 sha1_ssse3 ixgbe(+) mpt3sas mdio drm raid_class dca 
scsi_transport_sas wmi fuse
[   33.818475] CPU: 44 PID: 1815 Comm: systemd-udevd Not tainted 6.10.0-rc1+ 
#168
[   33.818478] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS 
BRBDXSD1.86B.0338.V01.1603162127 03/16/2016
[   33.818481] RIP: 0010:drm_atomic_helper_wait_for_vblanks.part.0+0x245/0x250 
[drm_kms_helper]
[   33.818490] Code: 00 48 8d 7b 08 e8 2b 7e 61 da 45 85 ff 0f 85 d3 fe ff ff 
49 8b 56 20 41 8b b6 d8 00 00 00 48 c7 c7 38 52 ba c0 e8 8b 53 59 da <0f> 0b e9 
b5 fe ff ff 0f 1f 40 00 90 90 90 90 90 90 90 90 90 90 90
[   33.818493] RSP: 0018:bf61a3faf690 EFLAGS: 00010282
[   33.818496] RAX: 0026 RBX: 99be04ad3028 RCX: 
[   33.818499] RDX: 0002 RSI: 9c9fd7c8 RDI: 
[   33.818501] RBP: 99be08a76c00 R08: 0001 R09: 
[   33.818503] R10: 0001 R11: 99f1011fffe8 R12: 
[   33.818504] R13:  R14: 99be0bcf93f8 R15: 
[   33.818506] FS:  7fbe18e7db40() GS:99ca61c0() 
knlGS:
[   33.818509] CS:  0010 DS:  ES:  CR0: 80050033
[   33.818510] CR2: 55b77636c1f8 CR3: 0e486004 CR4: 003706f0
[   33.818513] DR0:  DR1:  DR2: 
[   33.818514] DR3:  DR6: fffe0ff0 DR7: 0400
[   33.818516] Call Trace:
[   33.818519]  
[   33.818521]  ? __warn+0x8b/0x190
[   33.818535]  ? drm_atomic_helper_wait_for_vblanks.part.0+0x245/0x250 
[drm_kms_helper]
[   33.818545]  ? report_bug+0x1c3/0x1d0
[   33.818559]  ? handle_bug+0x42/0x70
[   33.818571]  ? exc_invalid_op+0x14/0x70
[   33.818575]  ? asm_exc_invalid_op+0x16/0x20
[   33.818589]  ? drm_atomic_helper_wait_for_vblanks.part.0+0x245/0x250 
[drm_kms_helper]
[   33.818602]  ? __pfx_autoremove_wake_function+0x10/0x10
[   33.818614]  drm_atomic_helper_commit_tail+0x71/0x80 [drm_kms_helper]
[   33.818625]  mgag200_mode_config_helper_atomic_commit_tail+0x28/0x40 
[mgag200]
[   33.818633]  commit_tail+0x94/0x130 [drm_kms_helper]
[   33.818644]  drm_atomic_helper_commit+0x13e/0x170 [drm_kms_helper]
[   33.818655]  drm_atomic_commit+0x97/0xb0 [drm]
[   33.818717]  ? __pfx___drm_printfn_info+0x10/0x10 [drm]
[   33.818750]  drm_client_modeset_commit_atomic+0x207/0x250 [drm]
[   33.818783]  drm_client_modeset_commit_locked+0x5b/0x190 [drm]
[   33.818807]  drm_client_modeset_commit+0x24/0x50 [drm]
[   33.818829]  __drm_fb_helper_restore_fbdev_mode_unlocked+0x92/0xc0 
[drm_kms_helper]
[   33.818841]  drm_fb_helper_set_par+0x2e/0x40 [drm_kms_helper]
[   33.818850]  fbcon_init+0x2a8/0x560
[   33.818860]  visual_init+0xc4/0x120
[   33.818867]  do_bind_con_driver.isra.0+0x1a1/0x3d0
[   33.818875]  do_take_over_console+0x10b/0x1a0
[   33.818880]  do_fbcon_takeover+0x5c/0xc0
[   33.818883]  fbcon_fb_registered+0x49/0x70
[   33.818886]  register_framebuffer+0x190/0x250
[   33.818896]  __drm_fb_helper_initial_config_and_unlock+0x345/0x590 
[drm_kms_helper]
[   33.818906]  ? drm_client_register+0x33/0xc0 [drm]
[   33.818934]  drm_fbdev_shmem_client_hotplug+0x6c/0xc0 [drm_shmem_helper]
[   33.818939]  drm_client_register+0x7b/0xc0 [drm]
[   33.818963]  mgag200_pci_probe+0x90/0x180 [mgag200]
[   33.818970]  local_pci_probe+0x46/0xa0
[   33.818978]  pci_device_probe+0xb5/0x230
[   33.818986]  really_probe+0xd9/0x380
[   33.818993]  __driver_probe_device+0x78/0x150
[   33.818997]  driver_probe_device+0x1e/0x90
[   33.819000]  __driver_attach+0xd6/0x1d0
[   33.819003]  ? __pfx___driver_attach+0x10/0x10
[   33.819005]  bus_for_each_dev+0x66/0xa0
[   33.819012]  bus_add_driver+0x111/0x240
[   33.819018]  driver_register+0x5c/0x120
[   33.819021]  ? __pfx_mgag200_pci_driver_init+0x10/0x10 [mgag200]
[   33.819026]  do_one_initcall+0x62/0x3a0
[   33.819035]  ? kmalloc_trace_noprof+0x2a0/0x340
[   33.819048]  do_init_module+0x64/0x240
[   33.819058]  init_module_from_file+0x7a/0xa0
[   33.819072]  idempotent_init_module+0x15a/0x210
[   33.819079]  ? __startup_64+0x70/0x3f0
[   33.819086]  __x64_sys_finit_module+0x5a/0xb0
[   33.819092]  do_syscall_64+0x73/0x190
[   33.819098]  entry_SYSCALL_64_